以前的蜂窝版本上的Android GridView检查项目

时间:2013-07-24 15:02:08

标签: android gridview android-3.0-honeycomb android-2.3-gingerbread checkedtextview

所以我有以下GridView声明:

<GridView
    android:id="@+id/payment_form_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:choiceMode="singleChoice"
    android:horizontalSpacing="0dp"
    android:listSelector="@null"
    android:numColumns="2"
    android:padding="0dp"
    android:stretchMode="columnWidth"
    android:verticalSpacing="0dp" />

GridView上的每个子项都是在适配器上构建的,具有以下布局:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/green_radio"
    android:drawablePadding="6dp"
    android:gravity="center_vertical"
    android:padding="16dp"
    android:textColor="@color/text_color"
    android:textSize="22sp" />

@drawable/green_radio是一个StateList drawable,我用它来显示GridView所选项目左侧的箭头。

此代码适用于任何至少具有API级别11(Honeycomb)的Android设备。 在具有先前版本的设备上,当我检查GridView上的项目时,箭头没有出现。

经过一些调试后,我注意到GridView没有将被按下的子项设置为已检查(在API Level 11+上发生的事情),因此不显示箭头。

为什么会发生这种情况?

0 个答案:

没有答案