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