"На месте" EditTextPreference

Я использовал синтаксис XML для создания PreferenceActivity с PreferenceScreen, Я добавил EditTextPreference и заметил, что это отображается как диалог. Есть ли способ сделать EditText на месте, т. е. текстовое поле отображается прямо в PreferenceScreen вместо того, чтобы всплывать как диалог?

2 ответа

Решение

В случае, если кто-то сталкивается с той же проблемой, это не может быть достигнуто с помощью встроенных классов Preference, но вы можете создать подкласс Preferenceи переопределить getView() вернуть ViewGroup содержащий в строке EditText (или просто EditText сам).

Вы могли бы, вероятно, достичь этого, предоставив android:layout атрибут в XML тоже (хотя я не пробовал это).

РЕДАКТИРОВАТЬ:
Я попробовал android:layout Подход выше, и это работает довольно хорошо.

Добавить андроид:layout="@layout/your_loyout".

где your_layout.xml как

<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" />

Другие вопросы по тегам