2013-09-01 68 views
10

tôi có phương pháp sau đây:Looping qua Danh sách android

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; 
    } 

Những gì tôi cần làm bây giờ là để gán những con số (như KEY_NUMBER1) như sau editTexts:

EditText phoneNumber1, phoneNumber2, phoneNumber3, phoneNumber4, phoneNumber5; 

Là mới đến làm việc với Danh sách, tôi đang gặp khó khăn khi cố gắng tìm ra cách để lặp lại và gán giá trị cho các editTexts này, như

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

'list.get (0);' 'list.get (1);' etc sẽ cung cấp cho bạn các giá trị tại chỉ số 0 và 1. Bạn có thể lặp qua danh sách cho đến [size] (http://developer.android.com /reference/java/util/List.html#size%28%29) –

Trả lời

19

Giả sử listList<String> của bạn được lấy lại từ hàm. Bạn lặp trên nó có thể thích:

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

Để được chuyển nhượng EditText, bạn chỉ có thể sử dụng các chỉ số, nếu bạn thấy số lượng các mặt hàng và nó là cố định (mà dường như là 5 ở đây):

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

nhưng làm cách nào để gán giá trị cho editText? –

+0

Xem câu trả lời được cập nhật –

+0

Tôi có chuyển nhượng điện thoạiNội dung trong danh sách không ?? hoặc tôi làm điều đó bên ngoài nó ... không nhớ tôi hỏi. –