Не могу использовать parseInt для изображений - Android - PullRequest
2 голосов
/ 03 марта 2011

У меня проблема с размещением разных изображений в списке.Я создал собственный список, и все работало нормально, за исключением проблемы с изображениями.Моя проблема с этими строками -

Integer p = Integer.parseInt("R.drawable.absolut");
holder.icon.setImageResource(p);

В журнале я вижу следующую ошибку -

03-03 08: 16: 07.121: ОШИБКА / AndroidRuntime (25486): java.lang.NumberFormatException: невозможно проанализировать 'R.drawable.absolut' как целое число

Что может вызвать это?

Спасибо!

1 Ответ

2 голосов
/ 03 марта 2011

Parse int предназначен для разбора строк типа "0", "100" и т. Д. И не имеет ничего общего с тем, чего вы пытаетесь достичь. Вы должны использовать идентификатор рисования напрямую:

holder.icon.setImageResource(R.drawable.icon);

Если по какой-либо причине вы не можете использовать константу, правильный способ получения идентификатора для рисования будет:

Context context = getContext(); //obtain a context
int drawableId = context.getResources().getIdentifier("icon", "drawable", context.getPackageName());

Но это совсем не хорошая практика и указывает на то, что у вас есть проблемы с дизайном приложения.

...