Android 姜饼上的GridView列表选择器高亮显示整个网格
使用Android 姜饼上的GridView列表选择器高亮显示整个网格,android,gridview,android-2.3-gingerbread,Android,Gridview,Android 2.3 Gingerbread,使用GridView并尝试以灰色突出显示所选项目。在我在安卓2.3上进行测试之前,它工作得很好。在Android 2.3上,选择项目时会发生以下情况: 在这个屏幕截图中,我点击了餐厅项目。基本上,整个GridView以灰色突出显示,而不是所选项目。然而,在安卓4.0+中,这个GridView工作正常,点击项目可以正确地以灰色突出显示它们(而不是GridView!) 以下是my layout.xml的相关部分: <FrameLayout android:id="@+id/grid_
GridView
并尝试以灰色突出显示所选项目。在我在安卓2.3上进行测试之前,它工作得很好。在Android 2.3上,选择项目时会发生以下情况:
在这个屏幕截图中,我点击了餐厅项目。基本上,整个GridView
以灰色突出显示,而不是所选项目。然而,在安卓4.0+中,这个GridView
工作正常,点击项目可以正确地以灰色突出显示它们(而不是GridView
!)
以下是my layout.xml的相关部分:
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/categories_grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:listSelector="@drawable/list_view_selector"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</FrameLayout>
我尝试过解决方法,但它只会导致在2.3和4.0+设备上根本没有突出显示任何内容(甚至连选定的项目也没有)
非常感谢您的帮助。将选择器应用于项目布局的
背景
,然后设置android:listSelector=“@null”
网格:
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/categories_grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:listSelector="@null"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</FrameLayout>
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_view_selector">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
项目:
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/categories_grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:listSelector="@null"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</FrameLayout>
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_view_selector">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
将选择器应用于项目布局的
背景
,并设置android:listSelector=“@null”
网格:
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/categories_grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:listSelector="@null"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</FrameLayout>
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_view_selector">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
项目:
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/categories_grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:listSelector="@null"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</FrameLayout>
<FrameLayout
android:id="@+id/grid_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_view_selector">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
只需将其粘贴,然后像
ArrayAdapter<String> dateadapter = new ArrayAdapter<String>(context,
R.layout.textviewforcalendergrid, calenderdays);
ArrayAdapter dateadapter=新的ArrayAdapter(上下文、,
R.layout.textviewforcalendergrid,calenderdays);
只需将其粘贴,然后像
ArrayAdapter<String> dateadapter = new ArrayAdapter<String>(context,
R.layout.textviewforcalendergrid, calenderdays);
ArrayAdapter dateadapter=新的ArrayAdapter(上下文、,
R.layout.textviewforcalendergrid,calenderdays);
谢谢。这解决了4.0+和2.3设备上的问题。在我的例子中,它显示了gridview周围的空间,而没有选择它。android:listSelector=“@null”清除了问题,但我不明白为什么?谢谢。这解决了4.0+和2.3设备上的问题。在我的例子中,它显示了gridview周围的空间,而没有选择它。android:listSelector=“@null”清除了问题,但我不明白为什么?