У меня есть приложение, поддерживающее 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.
Любая идея?
Вот что я пробовал. Метод bindView использует контекст контекста в аргументе. Я попытался использовать его без успеха тоже ... – Tom
Попробуйте использовать отладчик, удалив/вытащив, а также разместив сообщение об ошибке, которое вы получили. Также попробуйте закрыть/повторно открыть эмулятор. Кроме того, где метод bindView в вашем коде? Я не видел этого. И что вы подразумеваете под «удалением»? Удалить что? – f20k
Это не эмулятор, связанный с тем, что он появился сначала с моим телефоном mdpi. BindView находится в классе, расширяющем CursorAdapter, и получает контекст родительской активности в качестве аргумента. Устраняя это, я имею в виду вызов getRessource без ничего перед собой (удаление getBaseContext.) – Tom