2

LinearLayout 内に 4 つの ImageView があります。android:state_selected="true" の場合に背景色を赤に設定する selector.xml ファイルもあります。

私が望むのは、ビューを 1 つだけ選択することです。最後に選択したビューへの参照を保持する方法がわからないので、選択を解除できます。

私がこれまでに持っているコードは次のとおりです。

        ImageView beer = (ImageView)findViewById(R.id.beer_button);
    ImageView coffee = (ImageView)findViewById(R.id.coffee_button);
    ImageView food = (ImageView)findViewById(R.id.food_button);
    ImageView wifi = (ImageView)findViewById(R.id.wifi_button);

    beer.setOnClickListener(new OnClickListener()   {
           public void onClick(View v)     {
               Log.v("flag", "1");
               v.setSelected(true);
           }
    });



    coffee.setOnClickListener(new OnClickListener() {
           public void onClick(View v)     {
               Log.v("flag", "2");
               v.setSelected(true);
           }
    });

    food.setOnClickListener(new OnClickListener()   {
           public void onClick(View v)     {
               Log.v("flag", "3");
               v.setSelected(true);
           }
    });

    wifi.setOnClickListener(new OnClickListener()   {
           public void onClick(View v)     {
               Log.v("flag", "4");
               v.setSelected(true);
           }
    });
4

3 に答える 3

0

Radiogroup を使用でき、選択状態を気にする必要はありません。または、画像を選択するときに画像の選択を解除します。

ラジオグループを使用するのが最善の方法です:
1. コードを複製しません。
2.選択したアイテムをいつでも入手できます。

于 2013-09-15T20:26:18.463 に答える