Button检测点击共有四种方法(常用第三种)
1:外部监听类
MainActivity.java
Button btnSecond=(Button)findViewById(R.id.btnSecond);
btnSecond.setOnClickListener(new ExternalListenerClass(this));
ExternalListenerClass.java
public class ExternalListenerClass implements View.OnClickListener {
private Context context;
public ExternalListenerClass(Context context) //获取context参数
{
this.context=context;
}
@Override
public void onClick(View v) {
System.out.println("另建外部监听类实现监听!");
Toast.makeText(context, "另建外部监听类实现监听!", Toast.LENGTH_SHORT).show();
}
}
2.内部监听类
Button btnThird=(Button)findViewById(R.id.btnThird);
btnThird.setOnClickListener(new InnerListenerClass());
public class InnerListenerClass implements View.OnClickListener{
@Override
public void onClick(View v) {
System.out.println("测试内部定义监听器类的Button监听器!");
Toast.makeText(MainActivity.this, "测试内部定义监听器类的Button监听器!", Toast.LENGTH_SHORT).show();
}
}
3.匿名内部类
Button btnForth=(Button)findViewById(R.id.btnForth);
btnForth.setOnClickListener(anonymousListener);
//匿名内部类方式建立的监听器
Button.OnClickListener anonymousListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("匿名内部类方式定义的的Button监听器!");
Toast.makeText(MainActivity.this, "匿名内部类方式定义的的Button监听器!", Toast.LENGTH_SHORT).show();
}
};
4.利用Activity类实现监听接口
public class MainActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layoutbutton);
//设立由Activity实现OnClickListener接口的共同的监听器,多次设置会覆盖以前的值
btnFirst.setOnClickListener(this);
btnSecond.setOnClickListener(this);
btnThird.setOnClickListener(this);
btnForth.setOnClickListener(this);
}
//利用Activity类实现监听接口
@Override
public void onClick(View v) {
switch (v.getId()) {//区分哪个按钮的事件
case R.id.btnFirst:
System.out.println("First Button");
Toast.makeText(MainActivity.this, "First Button", Toast.LENGTH_SHORT).show();
break;
case R.id.btnSecond:
System.out.println("Second Button");
Toast.makeText(MainActivity.this, "Second Button", Toast.LENGTH_SHORT).show();
break;
case R.id.btnThird:
System.out.println("Third Button");
Toast.makeText(MainActivity.this, "Third Button", Toast.LENGTH_SHORT).show();
break;
case R.id.btnForth:
System.out.println("Forth Button");
Toast.makeText(MainActivity.this, "Forth Button", Toast.LENGTH_SHORT).show();
break;
}
}
}