Android GridView单元格颜色背景
如果按下GridView的单元格,我想更改背景颜色。我创建的代码可以工作,但当按下另一个单元格时,必须更改选定单元格的颜色,并且所有其他单元格不得有任何背景色。 谢谢你的帮助Android GridView单元格颜色背景,android,gridview,colors,Android,Gridview,Colors,如果按下GridView的单元格,我想更改背景颜色。我创建的代码可以工作,但当按下另一个单元格时,必须更改选定单元格的颜色,并且所有其他单元格不得有任何背景色。 谢谢你的帮助 elenco_ore.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v,
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);
}
}
}
});
elenco_ore.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
List-lList=Arrays.asList(orari);
迭代器迭代器=lList.Iterator();
while(iterator.hasNext()){
字符串orari_数组=(迭代器.next());
if(orari_数组!=((TextView)v.getText()){
(文本视图)v.setBackgroundColor(颜色.红色);
}否则{
(文本视图)v.setBackgroundColor(颜色.透明);
}
}
}
});
您可以根据需要修改网格视图以进行单选-
<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>
无需担心android将自动管理项目状态的其他事情