带有listSelector的GridView中的默认选定项

时间:2019-06-26 16:37:42

标签: android android-layout android-gridview

我正在制作一个照片选择器,其中具有用于缩略图的gridview。我使用listSelector(请参见下面的代码),应将每个选中的项目设置为使用一种特定的颜色来表示已被选中。

当我自己按下gridview中的项目时,这很好用,但是当第一次加载视图时,我希望从头开始选择第一张图像,然后标记缩略图。

我似乎无法以编程方式使其工作,我需要从头开始选择网格中的第一项。

我尝试了多种方式以编程方式在gridview中设置第一项(请参见第二个代码块),但它不起作用。我尝试将这些方法调用代码的不同部分(onViewCreated,适配器加载数据后,适配器中的getView),但仍然无法正常工作。

       <GridView
                android:id="@+id/preselected_photo_picker_grid"
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/spacing_smallest"
                android:horizontalSpacing="@dimen/spacing_tiniest"
                android:verticalSpacing="@dimen/spacing_tiniest"
                android:numColumns="4"
                android:choiceMode="singleChoice"
                android:drawSelectorOnTop="true"
                android:listSelector="@color/transparent_black_40_percent"
                android:stretchMode="columnWidth"
                android:layout_below="@id/preselected_photo_picker_text" />
preselected_photo_picker_grid.setItemChecked(0, true)
preselected_photo_picker_grid.setSelection(0)
preselected_photo_picker_grid.performItemClick(preselected_photo_picker_gri      d, 0,preselected_photo_picker_grid.getItemIdAtPosition(0))

启动此视图时,我希望选择第一个元素,但是即使我正在尝试以其他方式手动设置它也没有。

如何设置选择的第一个项目?谢谢!

0 个答案:

没有答案