Java 为什么我不能将包从片段传递到活动

Java 为什么我不能将包从片段传递到活动,java,android,android-fragments,Java,Android,Android Fragments,我不能将包或其他东西从片段传递到活动。当我尝试从片段导航到Activity.class而不传递任何信息时,它执行的任何信息都会很好地显示其他活动,但当我尝试通过捆绑传递图像时,它只会重新启动我的应用程序,而不显示其他活动。我不知道我的代码出了什么问题。Logcat没有显示任何错误 MyFragment Activity-->单击imageview时传递位数组 case R.id.pictureView: photo= Util.getBytes(bp);

我不能将包或其他东西从片段传递到活动。当我尝试从片段导航到Activity.class而不传递任何信息时,它执行的任何信息都会很好地显示其他活动,但当我尝试通过捆绑传递图像时,它只会重新启动我的应用程序,而不显示其他活动。我不知道我的代码出了什么问题。Logcat没有显示任何错误

MyFragment Activity-->单击imageview时传递位数组

case R.id.pictureView:
            photo= Util.getBytes(bp);
            Intent i = new Intent(getActivity(), ScaleImageViewActivity.class);
            Bundle bundle = new Bundle();
            bundle.putByteArray("image", photo);
            i.putExtras(bundle);
            startActivity(i);
            break;
和我的活动,我在那里得到邦德尔

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.photoview);
    Bundle bundle = getIntent().getExtras();
    bundle.getByteArray("image");
    byte [] photo = bundle.getByteArray("image");
    Bitmap bp = Util.getImage(photo);
    ScaleImageView imageView = (ScaleImageView)findViewById(R.id.imageZoom);
    imageView.setImageBitmap(bp);
}
这样做。 首先把这段代码放在你的片段中

iv=(ImageView)view.findviewbyd(R.id.iv);
位图位图=((BitmapDrawable)iv.getDrawable()).getBitmap();
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
压缩(bitmap.CompressFormat.JPEG,100,baos);
最后一个字节[]photo=bas.toByteArray();
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent i=新的Intent(getActivity(),ScaleImageViewActivity.class);
Bundle=新Bundle();
putByteArray(“图像”,照片);
i、 putExtras(束);
星触觉(i);
}
});以这种方式执行。
首先把这段代码放在你的片段中

iv=(ImageView)view.findviewbyd(R.id.iv);
位图位图=((BitmapDrawable)iv.getDrawable()).getBitmap();
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
压缩(bitmap.CompressFormat.JPEG,100,baos);
最后一个字节[]photo=bas.toByteArray();
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent i=新的Intent(getActivity(),ScaleImageViewActivity.class);
Bundle=新Bundle();
putByteArray(“图像”,照片);
i、 putExtras(束);
星触觉(i);
}

});而不是传递实际的图像字节,我建议传递活动的URI或文件路径,并从该URI获取图像。如果你能用代码解释你的答案,请?另一件事是,我正在寻找一个解决方案,为什么我的应用程序会在上述情况下重新启动?你很可能传递了太多的数据。有一个大小限制(我记不清)。Logcat不会向我显示任何有关大小限制的消息,但当我尝试通过捆绑包传递图像时,它只会重新启动我的应用程序,而不会显示另一个活动,这意味着你的应用程序已崩溃。错误应该是NullPointerException或内存不足异常。与其传递实际的图像字节,我建议传递活动的URI或文件路径,并从该URI获取图像。如果您可以用代码解释您的答案,请?另一件事是,我正在寻找一个解决方案,为什么我的应用程序会在上述情况下重新启动?你很可能传递了太多的数据。有一个大小限制(我记不清)。Logcat不会向我显示任何有关大小限制的消息,但当我尝试通过捆绑包传递图像时,它只会重新启动我的应用程序,而不会显示另一个活动,这意味着你的应用程序已崩溃。错误应为NullPointerException或内存不足异常。