private Button aBtn = null;//类中声明初始化
1.普通按钮点击,为每个控件新添一个监听器,使用关键字new方便快捷
aBtn = (Button) findViewById(R.id.aBtn);
aBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
2.实现一个独立的点击监听器类,并可能被多次使用
aBtn = (Button) findViewById(R.id.aBtn);
aBtn.setOnClickListener(new MyListener(){});
public class MyListener implements OnClickListener{
public void onClick(View arg0) {
//TODO
}
}
或者只new一次,多次使用;如在listItem中使用时可显著提高刷新效率
aBtn = (Button) findViewById(R.id.aBtn);
aBtn.setOnClickListener(mListener);
OnClickListener mListener = new OnClickListener() {
@Override
public void onClick(View v) {
//TODO
}
};
3.当界面中有很多部件需要执行点击事件时,可实现接口
如Activity类实现接口implements OnClickListener
onCreate()中
- findViewById(R.id.aBtn).setOnClickListener(this);
- findViewById(R.id.backBtn).setOnClickListener(this);
类中需重载onClick方法并在此通过判断id实现点击响应:
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- switch(v.getId()){
- case R.id.aBtn:
- break;
- case R.id.backBtn:
- finish();
- break;
- }
- }