我有一个GridView使用数组适配器来填充数据.
默认情况下,当GridView显示时,我必须显示其中一个项目为选中.我已经使用了gridview.setselected(),但它没有显示GridView所选项目(我的意思是项目的背景没有改变).是否有任何方法可以在加载网格视图时显示选定的特定项目.请建议
小智 15
在我意识到我真正想要的东西是要检查项目之前,我昨天有点挣扎.即
gridview.setItemChecked(position, true);
Run Code Online (Sandbox Code Playgroud)
GridView.setSelected()实际上是继承的View,只是将GridView您的布局中的整个设置为选中.
你要找的是从零位开始GridView.setSelection(int position)选择当前项目GridView.
另一个有用的功能是GridView.getFirstVisblePostion()可以用来存储当前位置GridView(如果它是大的和可滚动的),以便在从实例状态(例如旋转)或其他方式恢复时可以恢复它.
在处理这些事情时,查看您的窗口小部件/对象的Android Developer文档总是很有用的.
在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 项目中设置listSelector为android:color/transparent
| 归档时间: |
|
| 查看次数: |
22810 次 |
| 最近记录: |