让类实现接口OnClickListener
然后button.setOnClickListener(this);
之后重写onClick(View v)函数。
通过v.getId()得到是哪个view触发了click事件。然后分情况处理。如
1 package com.example.linearlayout; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 10 public class MainActivity extends Activity implements OnClickListener {11 Button tl;12 Button rl;13 Button fl;14 Button al;15 16 @Override17 protected void onCreate(Bundle savedInstanceState) {18 super.onCreate(savedInstanceState);19 setContentView(R.layout.activity_main);20 tl=(Button)findViewById(R.id.button1);21 tl.setOnClickListener(this);22 rl=(Button)findViewById(R.id.button2);23 rl.setOnClickListener(this);24 fl=(Button)findViewById(R.id.button3);25 fl.setOnClickListener(this);26 al=(Button)findViewById(R.id.button4);27 al.setOnClickListener(this);28 }29 30 @Override31 public boolean onCreateOptionsMenu(Menu menu) {32 // Inflate the menu; this adds items to the action bar if it is present.33 getMenuInflater().inflate(R.menu.main, menu);34 return true;35 }36 37 @Override38 public void onClick(View v) {39 // TODO Auto-generated method stub40 if(v.getId()==R.id.button1)41 {42 setContentView(R.layout.tablelayout);43 }44 if(v.getId()==R.id.button2)45 {46 setContentView(R.layout.relativelayout);47 }48 if(v.getId()==R.id.button3)49 {50 setContentView(R.layout.framelayout);51 }52 if(v.getId()==R.id.button4)53 {54 setContentView(R.layout.absolutelayout);55 }56 }57 58 }
上面40到50行中,有4个if语句,用来判断v是哪一个view。
其实可以通过switch(v.getId())来替换