2015-08-11 3 views
-6

В моем приложении у меня есть три текста редактирования для имени пользователя (Name, FirstName, LastName). Если пользователь вводит имя (John Basker) в поле имени, это означает, что автоматически отправляет John на первое имя и Basker отправляет в lastname.Как разбить строку и отправить в другое поле

Я хочу, чтобы этот процесс произошел, когда поле имени заполнилось. Как это сделать?

Мой код:

arrowDown.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       String personal_name = name.getText().toString(); 
       String [] array=personal_name.split("\\s+"); 
       firstname.setText(String.valueOf(array[0])); 
       lastname.setText(String.valueOf(array[1])); 
    } 
}); 

Logcat:

Я получил сообщение об ошибке в этой строке: firstname.setText(String.valueOf(array[0]));

java.lang.ArrayIndexOutOfBoundsException: длина = 1; Индекс = 1

+0

проверить мой код для редактирования – sasikumar

ответ

1
    //get value from editText 
    String str=editText.getText().toString(); 
       //str = "firstname lastname"; 
    String[] splited = str.split("\\s+");  
       //split by space 
    splited[0] is firstname 
    splited[1] is lastname 

       //then it set to other editText 
if(splited[0]) != null && !splited[0]).isEmpty()) 
{ 
editText1.setText(String.valueOf(splited[0])); 
} 
if(splited[1]) != null && !splited[1]).isEmpty()) 
{ 
editText2.setText(String.valueOf(splited[1])); 
} 
+0

Сначала этот вопрос не должен быть отвечен .... следующий ваш ответ не удовлетворяет вопрос ... – Siva

+0

Он хочет получить разделенное имя .. мой код получить значение от edittext и split..wh неправильно? – sasikumar

+0

Наряду с расколом он хочет, чтобы он отправил сплит в оставшиеся текстовые поля .. этот код отсутствует – Siva

0

использовать приведенный ниже код для обнаружения пробелов

Pattern pattern = Pattern.compile("\\s"); 
Matcher matcher = pattern.matcher(s); 
boolean found = matcher.find(); 

также использовать функцию SUBSTRING для разделения строк в две строки, а и б для, например: JOHN PATRIK затем подстроки (0,3)

Смежные вопросы