Получить текст выбранных элементов блесны? - PullRequest
337 голосов
/ 26 апреля 2011

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

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

Ответы [ 13 ]

1 голос
/ 22 октября 2015

Для тех, у кого есть HashMap на основе счетчика:

((HashMap)((Spinner)findViewById(R.id.YourSpinnerId)).getSelectedItem()).values().toArray()[0].toString();

Если вы находитесь во Фрагменте, Адаптере или Классе, отличном от основных видов деятельности, используйте это:

((HashMap)((Spinner)YourInflatedLayoutOrView.findViewById(R.id.YourSpinnerId)).getSelectedItem()).values().toArray()[0].toString();

Это просто для руководства; Вы должны найти свой идентификатор представления перед методом onClick.

0 голосов
/ 24 октября 2018

Это также может быть достигнуто немного более безопасным способом, используя String.valueOf() примерно так

Spinner sp = (Spinner) findViewById(R.id.sp_id);
String selectedText = String.valueOf(sp.getSelectedItem());

без сбоя приложения, когда весь ад проваливается.Причиной его безопасности является возможность иметь дело с null объектами в качестве аргумента.В документации написано

, если аргумент равен null, то строка равна "null";в противном случае возвращается значение obj.toString().

Таким образом, существует некоторая страховка на случай, например, пустого Spinner, чтотекущий выбранный элемент должен быть преобразован в String.

0 голосов
/ 27 декабря 2015
Spinner spinner = (Spinner) findViewById(R.id.yourspinnerid);
String text = spinner.getSelectedItem().toString();
...