2016-04-05 45 views
1

我有一個Map<String, Integer> 我需要將所有值打印到textView中。 我用這個代碼,但只打印最後一個值,並不是所有的TextView來自地圖

int count = 0; 
for(Map.Entry<String, Integer> entry : list){ 
    count++; 
    textView.setText(count + " " + entry.getKey()+" "+entry.getValue()); 
} 

我該怎麼辦錯了嗎?

回答

3

您每次迭代都會覆蓋文本。

您需要將每個值附加到一個字符串。

例如,

int count = 0; 
StringBuilder builder = new StringBuilder(); 

for(Map.Entry<String, Integer> entry:list) { 
    count++; 
    builder.append(count + " " + entry.getKey()+" "+entry.getValue()); 
} 

textView.setText(builder.toString()); 
+0

Tnx,但它寫在1行的所有文本。 它應該如何將每個鍵+值寫入新行? –

+0

我已經帶領你足夠多的這個答案。你需要自己做一些研究才能找出其餘的問題。 – redFIVE

+0

提示:它剛剛放在'entry.getValue()'後面 – redFIVE