【发布时间】:2013-04-09 09:12:44
【问题描述】:
有时候看到简单的事情很难找到解决方案,我真的很惊讶。
我有一个GridView,有 6 列和多行。每个项目都是一个以颜色为背景的正方形。当我选择一个项目时,它会在设置 listSelector 时突出显示
<GridView
android:id="@+id/listFontColors"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:layout_margin="8dip"
android:drawSelectorOnTop="true"
android:gravity="center"
android:horizontalSpacing="3dp"
android:listSelector="@drawable/color_list_selected"
android:numColumns="6"
android:padding="0dip"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="3dp" />
当我打开包含GridView 的布局时,我想突出显示上一个选定的项目。由于它后面的适配器有一个ArrayList<Object>,所以很容易找到需要突出显示的位置。问题是执行实际突出显示。
我做了很多测试:
listColors.requestFocus();
listColors.setSelection(9);
if (v != null) {
v.requestFocus();
v.setPressed(true);
v.setSelected(true);
}
listColors.performItemClick(listColors, 9, listColors.getItemIdAtPosition(9));
这些都不起作用。有什么想法吗?
【问题讨论】: