有没有办法可以从视图中存储/检索任意值,类似于HTML5数据属性?
这样,我可以使用视图调用泛型onClick()
方法,并且该方法可以检索相关数据。
e.g:
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="setCountry"
android:src="@drawable/ic_flag_germany" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="setCountry"
android:src="@drawable/ic_flag_france" />
...
我希望能够从点击的值中检索一个值。
public void setCountry(View v){
//retrieve data somehow
}
答案 0 :(得分:3)
您可以使用View
的{{3}}属性。它旨在用于此目的。
例如:
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="setCountry"
android:src="@drawable/ic_flag_germany"
android:tag="Germany" />
...
public void setCountry(View v) {
System.out.println(v.getTag());
}
答案 1 :(得分:0)
从ImageView派生,添加成员变量“country”和访问器方法。然后,您可以在布局文件中引用您的类:
<com.foo.MyImageView ... />
或使用tag
属性。它允许您将任意对象附加到控件,但没有类型安全性,也没有具有适当名称的访问器方法。您可以在XML文件中指定字符串标记。
或使用从控件ID到国家/地区的某种映射。