5

HTML5データ属性と同様に、ビューから任意の値を保存/取得する方法はありますか?このようにして、ジェネリックonClick()メソッドを呼び出すビューを作成し、メソッドで関連データを取得できます。

例えば:

<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
}
4

2 に答える 2

3

Viewtagプロパティを使用できます。そのための意図です。

例えば:

<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());
}
于 2012-09-18T19:26:09.880 に答える
0

ImageView から派生させ、メンバー変数 "country" とアクセサー メソッドを追加します。次に、レイアウト ファイルでクラスを参照できます。

<com.foo.MyImageView ... />

またはtagプロパティを使用します。任意のオブジェクトをコントロールにアタッチできますが、タイプ セーフはなく、適切な名前のアクセサー メソッドもありません。XML ファイルのすぐそこに文字列タグを指定できます。

または、コントロール ID から国への何らかのマッピングを使用します。

于 2012-09-18T02:45:42.190 に答える