1

こんにちはみんな私はimageviewの状況になりました、私は動的に描画可能なソースとテキストを設定しました、このようなもの、この質問にあまりにも似ています

title.setText(items.get(position).getTitle());
icon.setImageResource(this.icons.getIcon(items.get(position).getIcon()));

imageviewのonClickIconを含むxml、どの画像IDが描画可能であるかを知り、それが私のものと等しいかどうかを確認するために必要なもの

<ImageView android:id="@+id/image" 
        android:onClick="onClickIcon"
         />

アクティビティ

public void onClickIcon(View v) {

    int id =  v.getId();//instead i need the int of the drawable image

    switch (id) {
    case R.drawable.info:
        //do something
        break;
    case R.drawable.links_icon:
        //do something
        break;
    case R.drawable.map_icon:
        //do something
        break;
    default:
        break;
    }
}

事前にみんなに感謝します、私も私の英語を申し訳ありません、病気は次回それを改善しようとします。

乾杯

4

2 に答える 2

3

setTag() メソッドを使用できます。

ImageViewsetTag(R.id.ImageView,this.icons.getIcon(items.get(position).getIcon()));

onClick メソッドで getTag(R.id.ImageView) を使用します。

于 2011-04-09T13:01:55.413 に答える
1

CapDroid の回答に似た別の回避策を次に示します。

ImageView タグを使用して、独自の関数getImageResource()または関数を作成できます。getDrawableId()

onCreate() で:

imageView0 = (ImageView) findViewById(R.id.imageView0);
imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView2 = (ImageView) findViewById(R.id.imageView2);

imageView0.setTag(R.drawable.apple);
imageView1.setTag(R.drawable.banana);
imageView2.setTag(R.drawable.cereal);

次に、必要に応じて、ドローアブル ID を取得するための単純な関数:

private int getImageResource(ImageView iv) {
    return (Integer) iv.getTag();
}

これがお役に立てば幸いです。確かに私の仕事は楽になりました。

于 2013-01-23T08:00:48.947 に答える