我的一个class中有好几个Button对象,每个要完成不同的事情,书上的方法是new一个OnClickListener并重写onClick方法。
在onClick方法中先判断不同按钮的键值,再分别处理。最后将每个Button对象都注册这个OnClickListener可我觉得这种做法不好,想为每个Button对象单独设置一个OnClickListener,不过Eclipse提示出错:buttonListener2 cannot be resolved.是不是每个class只可以有一个同类型的Listener?如果是的,那怎么办?
在onClick方法中先判断不同按钮的键值,再分别处理。最后将每个Button对象都注册这个OnClickListener可我觉得这种做法不好,想为每个Button对象单独设置一个OnClickListener,不过Eclipse提示出错:buttonListener2 cannot be resolved.是不是每个class只可以有一个同类型的Listener?如果是的,那怎么办?
解决方案 »
- framebuffer 提取图形数据 android工程
- 在eclipse4.2下如何配android环境
- android aes加密和解密,在android2.1和2.2下一切正常,可在2.3.3等以上版本却提示错误
- 这个事件不是点击键盘自动触发的事件吗?点了键盘在日志logcat里面没输出啊
- (请教)android如何访问网页,获得数据
- 关于通知的声音播放
- android简单图像处理问题
- [android新手]在manifest里修改theme报错
- Android中权限有什么用?
- Android自定义Layout嵌套问题.
- 急急急,又要大家帮忙了,在android2.2模拟器上安装软件
- android Spinner 问题,初级的!!!!!
...
});button2.setOnClickListener(new View.onClickListener(){
....
});明白了吧 你自己的那个主类不要实现 onClickListener 这个接口
btn1.setOnClickListener(btnListener);
btn2.setOnClickListener(btnListener);
}
private OnClickListener btnListener = new OnClickListener()
{
@Override
public void onClick(View myView)
{
Button btn = (Button) myView;
switch (btn.getId())
{
case R.id.btn1:
Toast.makeText(mainActivity.this, "点击了Button 1", Toast.LENGTH_LONG).show();
break;
case R.id.btn2:
Toast.makeText(mainActivity.this, "点击了Button 2", Toast.LENGTH_LONG).show();
break;
}
}
};button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});