2011-01-20 6 views
0

У меня есть приложение, поддерживающее hdpi to ldpi. Он работает нормально, без каких-либо проблем для доступа к ресурсам. В этом приложении у меня есть ListView, и я решил добавить изображение в каждое представление списка. Поэтому я подготовил три png-изображения, по одному для каждого разрешения, и поместил их в соответствующие каталоги ресурсов.Проблема с некоторыми mdpi и ldpi ressources с android

Все отлично с ИПЧРОМ 2.2 эмулятором, но он падает с NullPointerException в 2,2 MDPI и ldpi на методу линии BindView где я поставил вытяжку в iImageView: mImageView.setImageDrawable(getBaseContext().getResources().getDrawable(R.drawable.hello) Я пытался заменить getBaseContext() на getApplicationContext() или даже удалять его без успеха.

Я полагаю, что приложение не выглядит в папке -mdpi. Однако я не понимаю, почему версия hdpi работает нормально. Обратите внимание, что ничего не существует в каталоге с ограниченным доступом. Кроме того, приложение знает, как смотреть в этих папках, поскольку оно выполняется в предыдущем действии, используемом для запуска с помощью ListView.

Любая идея?

ответ

0

Возможно, вам следует заменить getBaseContext() своим контекстом. См. Главный ответ в этом question

+0

Вот что я пробовал. Метод bindView использует контекст контекста в аргументе. Я попытался использовать его без успеха тоже ... – Tom

+0

Попробуйте использовать отладчик, удалив/вытащив, а также разместив сообщение об ошибке, которое вы получили. Также попробуйте закрыть/повторно открыть эмулятор. Кроме того, где метод bindView в вашем коде? Я не видел этого. И что вы подразумеваете под «удалением»? Удалить что? – f20k

+0

Это не эмулятор, связанный с тем, что он появился сначала с моим телефоном mdpi. BindView находится в классе, расширяющем CursorAdapter, и получает контекст родительской активности в качестве аргумента. Устраняя это, я имею в виду вызов getRessource без ничего перед собой (удаление getBaseContext.) – Tom

0

Каков твой целевой SDK? Это должно быть> 3 (> 1,5)

+0

Конечно, это> 3 (это 4!), И другие (но не в ListView) чертежи хорошо взяты. – Tom