Как установить начальное значение Exposed Dropdown Menu? - PullRequest
0 голосов
/ 27 мая 2019

Не удалось установить начальное значение недавно представленного раскрывающегося раскрывающегося меню.

https://github.com/material-components/material-components-android/blob/master/docs/components/Menu.md#exposed-dropdown-menus

Я пытаюсь получить первый набор значений, но когда я пытаюсь использовать «selectedItemPosition», я получаю сообщение об ошибке, что этот атрибут не найден.

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

// Trying to set it via java code
Binding.dropdownSex.setAdapter(getAdapter(getResources().getStringArray(R.array.fragment_me_spinner_sex)));
        mBinding.dropdownSex.setSelection(1);   // java.lang.IndexOutOfBoundsException: setSpan (1 ... 1) ends beyond length 0 


// just a small method to get the adapter
private ArrayAdapter<String> getAdapter(String[] elements) {
        return new ArrayAdapter<>(Objects.requireNonNull(getContext()),
                R.layout.dropdown_menu_popup_item,
                elements);
    }

также ...

<!-- attribute android:selectedItemPosition not found. -->
 <com.google.android.material.textfield.TextInputLayout
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingStart="32dp"
                android:paddingEnd="32dp"
                >

                <AutoCompleteTextView
                    android:id="@+id/dropdown_sex"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/sex"
                    android:focusable="false"
                    android:cursorVisible="false"

У кого-то есть идея, как это исправить?

1 Ответ

0 голосов
/ 23 июля 2019

использование mBinding.dropdownSex.setText(*TEXT OF ARRAY ITEM HERE*);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...