2016-04-05 2 views
1

У меня есть Map<String, Integer> Мне нужно распечатать все значения в textView. Я использовал этот код, но он печатает только последнее значение, а не всеTextView from Map

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