我的活动中有一个网格视图。我使用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
中突出显示。但是一旦我移动到活动中的另一个输入元素(比如我触及了编辑文本),网格视图突出显示就会消失。
即使在网格视图失去焦点后,如何保持高亮显示?
答案 0 :(得分:1)
一种解决方案是为要保持突出显示的项目使用自定义状态。您可以看到this answer有关如何添加状态的信息。添加状态后,只需添加逻辑以确定何时启用/禁用该状态。