我正在为许多项目使用相同的onClick侦听器。
当我点击时我想知道哪一个。
我知道我可以在getId()上执行一个Switch语句,但宁愿能够得到该项的名称。 有没有简单的方法呢?
答案 0 :(得分:1)
我认为当你说“获取名字”时你所指的是来自资源的id字符串。所以你会有一个如下的开关语句:
switch(view.getId()) {
case R.id.HomeButtonOne:
// Do Button One Action
break;
case R.id.HomeButtonTwo:
// Do Button Two Action
break;
}
否则请详细说明你想要达到的目标。
答案 1 :(得分:0)
您有几个选择。
您可以使用您创建的类扩展View,并包含其他可识别信息。然后在onClick中,将View转换为您的类类型。
您可以使用Adapter来更好地管理您的观看次数。如果您显示数据视图而不是惰性布局或Drawables,则效果最佳。
它将归结为您想要存储的内容以及您正在查看的内容。
答案 2 :(得分:0)
只需创建一个实现OnClickListner的类并为您的视图设置实例:
class MyListener implements OnClickListener() {
// ...
}
MyListener listener = new MyListener();
View view = (View) findViewById(R.id.myViewId);
view.setOnClickListener(listener);
view = (View) findViewById(R.id.myAnotherViewId);
view.setOnClickListener(listener);
...