2013-09-01 3 views
10

У меня есть следующий метод:пробегаем по списку андроида

public List<String> getAllValue(){ 
     List<String> list = new ArrayList<String>(); 
     if(pref.getString(KEY_NUMBER1 , "").length()>2) 
      list.add(pref.getString(KEY_NUMBER1 , "")); 
     if(pref.getString(KEY_NUMBER2 , "").length()>2) 
      list.add(pref.getString(KEY_NUMBER2 , "")); 
     if(pref.getString(KEY_NUMBER3 , "").length()>2) 
      list.add(pref.getString(KEY_NUMBER3 , "")); 
     if(pref.getString(KEY_NUMBER4 , "").length()>2) 
      list.add(pref.getString(KEY_NUMBER4 , "")); 
     if(pref.getString(KEY_NUMBER5 , "").length()>2) 
      list.add(pref.getString(KEY_NUMBER5 , "")); 

     return list; 
    } 

Что мне нужно сделать сейчас, чтобы присвоить эти номера (например, KEY_NUMBER1) к следующему editTexts:

EditText phoneNumber1, phoneNumber2, phoneNumber3, phoneNumber4, phoneNumber5; 

Будучи новым для работая со списками, я с трудом пытаюсь выяснить способ прокрутки и присвоить значения этим editTexts, например

phoneNumber1.setText(KEY_NUMBER1); 
phoneNumber2.setText(KEY_NUMBER2); 
phoneNumber3.setText(KEY_NUMBER3); 
+0

'list.get (0);' 'list.get (1);' etc даст вам значения в индексе 0 и 1. Вы можете перебрать список до [size] (http://developer.android.com). /reference/java/util/List.html#size%28%29) –

ответ

19

Предполагая, что list является вашим List<String>, перенастроенным функцией. Вы можете цикл над ним, как:

for (int i=0; i<list.size(); i++) { 
    System.out.println(list.get(i)); 
} 

Для присвоения EditText, вы можете просто использовать индекс, если вы количество элементов и фиксируется (который, кажется, 5 здесь):

phoneNumber1.setText(list.get(0)); 
phoneNumber2.setText(list.get(1)); 
//so on ... 
+0

, но как назначить значения для editText? –

+0

См. Обновленный ответ –

+0

Выполняю ли я назначение телефонаНеммеры внутри списка? или я делаю это за пределами этого ... не возражаю, спрашиваю. –

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