Я делаю сборщик фотографий, в котором есть сетка для миниатюр. Я использую 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))
Когда этот вид запускается, я хочу, чтобы был выбран первый элемент, но это не так, хотя я пытаюсь разными способами установить его вручную.
Как установить первый выбранный элемент? Спасибо!