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



我的活动中有一个网格视图。我已经用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中突出显示。但是,一旦我移动到活动中的另一个输入元素(例如我触摸了编辑文本),网格视图突出显示就会消失。

如何在网格视图失去焦点后保持高光?

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

最新更新