如果按下GridView的单元格,我想更改背景颜色。我创建的代码有效,但是当按下时,另一个单元格必须更改所选单元格的颜色,而其他所有单元格不能具有任何背景颜色。 谢谢你的帮助。
elenco_ore.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
List<String> lList = Arrays.asList(orari);
Iterator<String> iterator = lList.iterator();
while (iterator.hasNext()) {
String orari_array = (iterator.next());
if(orari_array != (((TextView) v).getText())){
((TextView) v).setBackgroundColor(Color.RED);
}else{
((TextView) v).setBackgroundColor(Color.TRANSPARENT);
}
}
}
});
答案 0 :(得分:0)
您可以将单个选项的网格视图修改为 -
<GridView
...
android:choiceMode="singleChoice" />
选择器为
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true"
android:drawable="@drawable/grid_item_pressed" />
<item android:state_pressed="true"
android:drawable="@drawable/grid_item_pressed" />
<item android:state_selected="true"
android:state_activated="true"
android:drawable="@drawable/grid_item_selected" />
<item android:state_activated="true"
android:drawable="@drawable/grid_item_selected" />
<item android:state_selected="true"
android:drawable="@android:color/black" />
<item android:drawable="@android:color/transparent" />
</selector>
并且不必担心其他东西会自动管理项目的状态。