#android #string #spinner #country
#Android #строка #счетчик #Страна
Вопрос:
В моем приложении для Android я использую счетчик для выбора данных .. и я создал string array для строк, которые будут отображаться в spinner. Я помещаю все детали в папку strings. Я хотел, чтобы выделенный текст отображался в редактируемом тексте после того, как пользователь выбрал элемент..
Например: счетчик используется для выбора кодов стран предположим, что пользователь выбрал США, тогда выделенный текст будет выглядеть следующим образом
Соединенные Штаты Америки, 001
Мне не нужно брать весь текст и отображать его в редактируемом тексте. Мне нужен только текст после запятой, то есть 001. Итак, есть ли какой-либо способ получить текст только после запятой
Spinner spinner = (Spinner)findViewById(R.id.spinner);
String text = spinner.getSelectedItem().toString();
Я знаю, что это отобразит весь текст, я хочу только текст, который выводится после запятой
Комментарии:
1. Не можете использовать use split? Вот так: «text.split(‘,’)[1]» ?
Ответ №1:
Вы можете разделить свой текст на запятую:
String text = spinner.getSelectedItem().toString();
String[] splited_text = text.split(",");
text = splited_text[1];
Комментарии:
1. текст = разделенный текст [1];
Ответ №2:
Предположим, что текст находится в имени строки text
. используйте это:
String[] temp = text.split(",")
String code = temp[1]; // 001 the code after , temp[0] contains the rest
Ответ №3:
String seperated[] = spinner.getSelectedItem().toString().split(",");
text = seperated[1];
Это вернет только » 001″.
Ответ №4:
String code = text.substring(text.indexOf(','));
Ответ №5:
Вот как получить строку после последней запятой:
String founded;
Pattern p = Pattern.compile(".*,\s*(.*)");
String dd = (String) "Your string, really, really2";
Matcher m = p.matcher(dd);
if (m.find()) {
founded = m.group(1); //returns "really2"
}