转载:AndroidChina>>Android Button监听的几种方法
1 一个Button控件对应一个监听
Button buttontest
buttontest = (Button)findViewById(R.id.button1);
buttontest.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//TODO Auto-generated method stub
});
2 多个Button对应一个监听
方法一:
start = (Button)findViewById(R.id.button1);
stop = (Button)findViewById(R.id.button2);
start.setOnClickListener(mylistener);
stop.setOnClickListener(mylistener);
View.OnClickListener mylistener = new View.OnClickListener(){
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.button1:
//what you want to do
break;
case R.id.button2:
//what you want to do
break;
default:
break;
}
}
};
方法二:
public class MainActivity extends Activity implements View.OnClickListner{
//界面元素
private Button start;
private Button stop;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start = (Button)findViewById(R.id.button1);
stop = (Button)findViewById(R.id.button2);
start.setOnClickListener(this);
stop.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.button1:
//what you want to do
break;
case R.id.button2:
//what you want to do
break;
default:
//TODO
break;
}
}
}
3 xml中绑定监听:
<Button
android:id = "@+id/button1"
android:layout_height = "wrap_content"
android:layout_weight = "wrap_content"
android:onClick = "mybuttonlistener"/>
对应JAVA代码
Button btn = (Button)findViewById(R.id.button1);
public void mybuttonlistener(View target){
//TODO
}
建议:不推荐使用第四种实现方式