Android GridView单元格颜色背景

时间:2015-03-10 21:44:45

标签: android gridview colors

如果按下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);

                     }
                 }

             }
         });

1 个答案:

答案 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>

并且不必担心其他东西会自动管理项目的状态。