Выбранный по умолчанию элемент в GridView с listSelector - PullRequest
0 голосов
/ 26 июня 2019

Я делаю сборщик фотографий, в котором есть сетка для миниатюр. Я использую listSelector (см. Код ниже), который должен настроить каждый выбранный элемент на использование определенного цвета, чтобы показать, что он выбран.

Это хорошо работает, когда я сам нажимаю на элементы в виде сетки, но при первой загрузке вида я хочу, чтобы первое изображение было выбрано с самого начала, а затем помечался эскиз.

Кажется, я не могу заставить это работать программно, мне нужно, чтобы первый элемент в сетке был выбран с самого начала.

Я пробовал разные способы программно установить первый элемент в виде сетки (см. Второй блок кода), и он не работает. Я пытался вызывать эти методы различными частями кода (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))

Когда этот вид запускается, я хочу, чтобы был выбран первый элемент, но это не так, хотя я пытаюсь разными способами установить его вручную.

Как установить первый выбранный элемент? Спасибо!

...