我有一个支持从 hdpi 到 ldpi 的应用程序。它工作正常,访问资源没有任何问题。在这个应用程序中,我有一个 ListView,我决定在列表的每个视图中添加一个图像。所以我准备了三张png图片,每种分辨率一张,放在各自的资源目录下。
使用 hdpi 2.2 模拟器一切都很好,但它在 2.2 mdpi 和 ldpi 中的 NullPointerException 崩溃,在我将 drawable 放入 iImageView 的 bindView 方法行:
mImageView.setImageDrawable(getBaseContext().getResources().getDrawable(R.drawable.hello)
我试图替换getBaseContext()
甚至getApplicationContext()
删除它但没有成功。
我猜该应用程序不在 -mdpi 文件夹中。但是,我不明白为什么 hdpi 版本可以正常工作。请注意,裸可绘制目录中没有任何内容。此外,该应用程序知道如何查看这些文件夹,因为它是在之前的活动中使用 ListView 启动的。
任何的想法 ?