リストの他のアイテムを押すまで、リストアイテムを押した/選択した状態のままにしておきたい。これを入力しているときに、丸ボタンのないラジオボタンのように機能させたいと思いました。リストアイテムの選択/押された状態をtrueに設定するか、背景色をオンに設定しようとしましたonListItemClick
が、これを行うと、他のアイテムをクリックした後でもリストアイテムがクリックされたままになります。リスト内で以前にクリックしたアイテムの背景色の設定を解除するにはどうすればよいですか?または、これを行う別の方法がありますか?
質問する
1243 次
1 に答える
0
これを試して
手順1: forループを使用して、背景色(つまり元の背景色)をすべてのリストアイテムにリセットしてみますonItemClickListener()
。
ステップ2:選択したものに異なる背景色を設定します。
カスタマイズされたリストビューを使用している場合、それは本当に簡単になります。
カスタマイズされたリストビューチュートリアルの編集
それが役に立てば幸い
編集
私がしたことは次のとおりです。表示されているリストを繰り返して、各アイテムの背景を透明に設定し、選択したアイテムの背景を異なる色に設定しました。このように、私が別のアイテムを押すまで色がくっつきます。
protected void onListItemClick(ListView l、View v、int position、long id){int childCount = l.getChildCount();
for (int i = 0; i < childCount; i++)
{
View listItem = l.getChildAt(i);
if(listItem != null ) listItem.setBackgroundColor(0x00000000);
}
v.setBackgroundColor(getResources().getColor(R.color.pressed));
...
}
于 2012-07-22T14:31:33.400 に答える