21

我有以下方法:

 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);
4

3 回答 3

36

假设listList<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 ...
于 2013-09-01T07:26:14.050 回答
2
for (E element : list) {
    . . .
}
于 2021-02-26T10:00:07.610 回答
2

科特林:

val numbers = listOf("one", "two", "three", "four")
for (item in numbers) {
    println(item)
}

或者

val numbers = listOf("one", "two", "three", "four")
val numbersIterator = numbers.iterator()
while (numbersIterator.hasNext()) {
    println(numbersIterator.next())
}
于 2021-01-09T19:08:42.070 回答