1.创建内部类,实现按钮点击事件的监听
这种方法就是利用按钮类的setOnClickListener()方法,并创建onClickListener()类实例
button bt = (button)findViewById(R.id.bt1)
bt.setOnClickListener(new MyListener());
//创建内部类,继承OnClickListener
private class MyListener implements OnClickListener{
@Override
public void onClick(View v){
//按钮事件
}
}
2.创建内部匿名类,实现监听
该方法与第一种基本类似,只是不单独创建内部类,而是匿名内部类
Button bt = (Button)findViewById(R.id.bt1);
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
}
});
当一个activity中有好多个按钮时,如果利用上述两种方法就要创建好多个内部类,这样就十分麻烦。下面这种实现方法就更为方便
3.使用接口继承view类的监听方法
public class MainActivity extends Activity implements OnClickListener{
private Button btn1;
private Button btn2;
private TextView tv1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button)findViewById(R.id.btn1);
btn2 = (Button)findViewById(R.id.btn2);
tv1 = (TextView)findViewById(R.id.tv1);
btn1.setOnClickListener(this);//由于该类继承了view的监听,因此设置监听的参数只需传本类的对象即可
btn2.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case btn1:
case btn2:
}
}
4.在xml布局文件中的button控件定义处加入android:onClick的内容,并在java文件内实现函数(该方法不常用)