如何将网格视图项设置为选中

use*_*700 8 android gridview

我有一个GridView使用数组适配器来填充数据.

默认情况下,当GridView显示时,我必须显示其中一个项目为选中.我已经使用了gridview.setselected(),但它没有显示GridView所选项目(我的意思是项目的背景没有改变).是否有任何方法可以在加载网格视图时显示选定的特定项目.请建议

小智 15

在我意识到我真正想要的东西是要检查项目之前,我昨天有点挣扎.即

gridview.setItemChecked(position, true);
Run Code Online (Sandbox Code Playgroud)


Jer*_*ady 5

GridView.setSelected()实际上是继承的View,只是将GridView您的布局中的整个设置为选中.

你要找的是从零位开始GridView.setSelection(int position)选择当前项目GridView.

另一个有用的功能是GridView.getFirstVisblePostion()可以用来存储当前位置GridView(如果它是大的和可滚动的),以便在从实例状态(例如旋转)或其他方式恢复时可以恢复它.

在处理这些事情时,查看您的窗口小部件/对象的Android Developer文档总是很有用的.


use*_*700 1

getView()适配器的方法中执行以下操作

if(row != null) {
    if(position == selectedPosition){
        set required background color
    } else {
        set background color to Color.TRANSPARENT
    }
}
Run Code Online (Sandbox Code Playgroud)

在 onItemClick 方法中设置Adapter.selectedPosition值并调用notifydatasetchanged(),然后继续执行您所需的逻辑。

<GridView>xml 项目中设置listSelectorandroid:color/transparent