Android BitmapRegionDecoder decodeRegion NullPointerException on 10"片剂

时间:2013-02-15 10:23:30

标签: android bitmap nullpointerexception

在我的Android应用中,我使用以下代码:

BitmapRegionDecoder decoder;
...
decoder = BitmapRegionDecoder.newInstance(myStream, false);
...
int width = -1, height = -1, left = -1, top = -1;
...
Log.d("GDA", left + " " + top + " " + width + " " + height);
Rect re = new Rect(left, top, width, height);
Log.d("GDA", re.toString());
if(decoder != null)
    region = decoder.decodeRegion(re, null);

一切都适用于智能手机和7英寸平板电脑,但是10英寸平板电脑(我在三星GT10.1和Acer A501上测试过)我收到了这个错误:

1152 1728 2304 2592
Rect(1152, 1728 - 2304, 2592)
java.lang.NullPointerException
    at android.graphics.BitmapRegionDecoder.decodeRegion(BitmapRegionDecoder.java:399)

我找不到解决方案。有没有人有同样的问题?有什么建议吗?

1 个答案:

答案 0 :(得分:5)

解决方案:

不要使用“region = decoder.decodeRegion(re,null);”,例如使用:

BitmapFactory.Options options = new BitmapFactory.Options();
region = decoder.decodeRegion(re, options);

这是工作,检查Galaxy Tab 10.1 Android 4.0.x