焦点丢失后,保持网格视图选中项目突出显示

时间:2016-01-23 14:46:14

标签: android

我的活动中有一个网格视图。我使用GridView.setSelector()设置了网格视图的项目突出显示颜色。

XML

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:background="#DDDDDD"
        android:choiceMode="singleChoice"
        android:columnWidth="@dimen/category_edit_grid_item_size"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth" />

代码

gridView.setSelector(R.color.theme_primary);

当我选择一个项目时,它会在R.color.theme_primary中突出显示。但是一旦我移动到活动中的另一个输入元素(比如我触及了编辑文本),网格视图突出显示就会消失。

即使在网格视图失去焦点后,如何保持高亮显示?

1 个答案:

答案 0 :(得分:1)

一种解决方案是为要保持突出显示的项目使用自定义状态。您可以看到this answer有关如何添加状态的信息。添加状态后,只需添加逻辑以确定何时启用/禁用该状态。