我正在使用以下方法声明一个按钮:
Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);
我需要添加一个将在单击时使用的自定义属性。
有没有办法做到这一点?
我正在使用以下方法声明一个按钮:
Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);
我需要添加一个将在单击时使用的自定义属性。
有没有办法做到这一点?
您可以使用 附加任何数据作为按钮的标签setTag
。
String attribute = "Hello";
btn.setTag(attribute);
然后,您可以稍后使用getTag
.
String attribute = (String) btn.getTag();
如果您需要将多个值绑定到一个视图,请在 values/tags.xml 中声明 ID
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="tag_first" type="id" />
<item name="tag_second" type="id" />
</resources>
并将它们用作 setTag 的第一个参数。
btn.setTag(R.id.tag_first, "First");
btn.setTag(R.id.tag_second, "Second");
然后,您可以按如下方式获取绑定值:
String first = (String) btn.getTag(R.id.tag_first);
String second = (String) btn.getTag(R.id.tag_second);
可以使用的内置方法是按钮本身的setTag方法。您可以使用标签来存储您想要的任何信息,包括复杂的对象。这适用于所有视图。
btn.setTag(myObject);
public void onClick(View view) {
MyObject myObject = (MyObject)view.getTag();
}