android 实现事件监听器的方法
1.内部类形式:将事件监听器定义在当前类的内部
2.外部类的形式:将事件监听器类定义为一个外部类
3.Activiy本身作为事件监听器类:让activity本身实现监听器接口,并实现事件处理方法。
3.匿名内部类:使用匿名内部类创建事件监听器对象。
1.内部类形式
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bu=(Button)findViewById(R.id.button1);
MyButton listener=new MyButton();
bu.setOnClickListener(listener);
}
class MyButton implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
2.外部类形式(比较少见)
3.将Activity本身作为事件监听类
public class MainActivity extends Activity implements OnClickListener{
private Button bu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bu=(Button)findViewById(R.id.button1);
bu.setOnClickListener(this );
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
4.使用匿名内部类
bu=(Button)findViewById(R.id.button1);
bu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
}