Возможно ли установить подсказку для Spinner в Android
Описание проблемы:
Я пытаюсь создать выпадающий список (Spinner) в Android с подсказкой, аналогичной подсказке, используемой в полях ввода. Я знаю, что можно использовать prompt, который отображает заголовок, но он оставляет поле спиннера пустым до тех пор, пока пользователь не кликнет по нему. В данный момент моя реализация выглядит довольно грубо: я добавляю в массив спиннера фиктивный элемент, который является текстом вопроса, и в конце проверяю, чтобы значение спиннера не совпадало с этой строкой.
Возникает вопрос: есть ли более чистый и лучший способ реализовать подобную функциональность?
Заранее спасибо!
1 ответ(ов)
Вот решение, которое, возможно, немного проще кода Рави Вьяса (спасибо за вдохновение!):
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
if (position == getCount()) {
((TextView)v.findViewById(android.R.id.text1)).setText("");
((TextView)v.findViewById(android.R.id.text1)).setHint(getItem(getCount())); // "Подсказка для отображения"
}
return v;
}
@Override
public int getCount() {
return super.getCount() - 1; // мы не отображаем последний элемент. Он используется как подсказка.
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("Элемент 1");
adapter.add("Элемент 2");
adapter.add("Подсказка для отображения");
spinner.setAdapter(adapter);
spinner.setSelection(adapter.getCount()); // отображаем подсказку
Этот код создает адаптер для Spinner, который отображает элементы и добавляет пустую подсказку в качестве последнего элемента. Надеюсь, это поможет!
Ошибка «Необходимо переопределить метод суперкласса» после импорта проекта в Eclipse
Использование контекста в фрагменте
Как заставить Android-устройство вибрировать с разной частотой?
Room - Директория экспорта схемы не указана аннотационному процессору, не удается экспортировать схему
Как сгенерировать уникальный хеш-код для строкового ввода в Android?