android - 在失去焦点后保持 GridView 选定项目突出显示

标签 android

我的 Activity 中有一个 GridView 。我已经使用 GridView.setSelector() 设置了 GridView 的项目突出显示颜色。

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 中突出显示。但是,一旦我移动到 Activity 中的另一个输入元素(比如我触摸了一个编辑文本), GridView 突出显示就会消失。

如何在 GridView 失去焦点后保持高亮?

最佳答案

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

关于android - 在失去焦点后保持 GridView 选定项目突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964847/

相关文章:

android - 协程 channel -流收集问题

android - 在 otp 自动填充的 Firebase 身份验证中是否需要 SMS Retriever API?

android - 在 Android View 中检测后退按钮按下

android - YouTube视频无法在WebView中播放

android - RenderScript Android Sample 示例 RenderScript >HelloCompute 未编译

java - 将 EditText 获取为 String,然后显示在 Toast 中

java - 更改 RecyclerView Android Java 中显示的 ArrayList

java - Appium 无法获取 "content-desc"属性数据

android - 大多数公司如何签署他们的 Android 应用程序?

android - 我如何使用谷歌地图 android api 过滤器搜索餐馆?