【发布时间】:2016-08-29 13:54:37
【问题描述】:
我有一个片段,其中包含要发送到另一个活动的数据。从意图中发送和检索一个额外内容是有效的,但不适用于其他字节数组。请仔细查看。
片段类
String userId = profile.getId();
Bitmap bitmap = getFacebookProfilePicture(userId);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Intent myIntent = new Intent(getActivity(), Main2Activity.class);
myIntent.putExtra("name",name);
myIntent.putExtra("image",byteArray);
getActivity().startActivity(myIntent);
主要活动
Intent intent = getIntent();
String name = intent.getExtras().getString("name");
byte[] byteArray = intent.getExtras().getByteArray("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
第三行 main2activity 抛出错误:将结果 ResultInfo{who=null, request=129742, result=-1, data=Intent { (has extras) }} 传递给活动失败
这似乎是主要错误 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)'
【问题讨论】:
-
这是唯一的错误吗?你能发布完整的堆栈跟踪吗?
-
@varunkr 可能是这个原因: 引起:java.lang.NullPointerException:尝试调用虚拟方法'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int , java.io.OutputStream)' 在空对象引用上
-
是的,这是主要错误
-
你的名字是不是特别正确?
标签: android android-fragments android-intent bytearray