2015-12-15 43 views
2

我正在使用一個ArrayList(String)中的內容來更新另一個ArrayList(EditText)。我想循環訪問String數組,獲取它的細節並將其用於ArrayList(EditText)中的每個對應EditText的setText。Loop String ArrayList在EditText數組中設置文本

因此,索引0處的字符串將用於編輯索引0處的EditText,依此類推。我正在嘗試使用雙For循環,但它將所有EditTexts都歸檔爲「數量」。我明白爲什麼,但有沒有什麼方法可以循環執行此操作?或者我需要找到一種不同的方法?

ArrayList<String> detailArray = new ArrayList<>(Arrays.asList(
       "category", "name", "brand", "quantity")); 
ArrayList<EditText> emptyFields = new ArrayList<>(Arrays.asList(
       category, name, brand, quantity)); 

for(EditText x : emptyFields){ 
    for(String y : detailArray){ 
     x.setText(y); 
    } 
} 
+2

如果列表是你並不需要2路相同的大小。使用常規for循環,然後在get和set方法中使用循環變量。 – csmckelvey

+0

@takendarkk我顯然過於複雜了..謝謝。 – cubeb

回答

3

使用此

for(int i = 0; i < emptyFields.size(); i++) { 
    emptyFields.get(i).setText(detailArray.get(i)); 
} 
2

如果您信任這兩個的ArrayList具有相同的尺寸,使用此

for(EditText x : emptyFields){ 
    x.setText(detailArray.get(emptyFields.indexOf(x)))); 
} 
相關問題