View
个类型对象中的setTag()
和getTag()
等方法的主要用途是什么?
我认为可以将任意数量的对象与一个视图关联,这对吗?
View
个类型对象中的setTag()
和getTag()
等方法的主要用途是什么?
我认为可以将任意数量的对象与一个视图关联,这对吗?
假设您生成了一组相似的视图.可以分别 for each 视图设置OnClickListener
:
button1.setOnClickListener(new OnClickListener ... );
button2.setOnClickListener(new OnClickListener ... );
...
然后,你必须 for each 视图创建一个唯一的onClick
方法,即使它们做了类似的事情,比如:
public void onClick(View v) {
doAction(1); // 1 for button1, 2 for button2, etc.
}
这是因为onClick
只有一个参数,即View
,它必须从封闭范围内的实例变量或最终局部变量获取其他信息.我们真正想要的是获得信息.
输入getTag
/setTag
:
button1.setTag(1);
button2.setTag(2);
现在我们可以对每个按钮使用相同的OnClickListener:
listener = new OnClickListener() {
@Override
public void onClick(View v) {
doAction(v.getTag());
}
};
这基本上是一种让浏览量达到memories的方式.