2013-09-01 23 views
10

Aşağıdaki yöntem vardır: yeni olmasıandroid Listesi üzerinden döngü

EditText phoneNumber1, phoneNumber2, phoneNumber3, phoneNumber4, phoneNumber5; 

: Şimdi yapmanız gereken

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

editTexts aşağıdaki bu numaraları (gibi KEY_NUMBER1) atamaktır Listeler ile çalışıyorum,

phoneNumber1.setText(KEY_NUMBER1); 
phoneNumber2.setText(KEY_NUMBER2); 
phoneNumber3.setText(KEY_NUMBER3); 
gibi, bu editTEXts değerlerine geçiş yapmanın ve değerleri atamanın bir yolunu bulmaya çalışmakta zorlanıyorum
+0

'list.get (0);' 'list.get (1);' vb 0 ve 1 dizininde değerleri verecektir. [Size] (http://developer.android.com /reference/java/util/List.html#size%28%29) –

cevap

19

list değerini kabul etmek, List<String> işlevinden geri alınır. Bunun üzerine döngü gibi olabilir:

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

EditText atama için, (burada 5 görünmektedir olan) sadece öğe eğer sayısı indeksi kullanabilirsiniz ve sabittir:

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

ancak editText'e nasıl değer atadım? –

+0

Güncellenen yanıtı gör –

+0

Telefonun içindeki hatıraların listesini yapıyorum? ya da bunu dışarıda mı yaparım ... sormama aldırış etmeyin. –

İlgili konular