gpt4 book ai didi

java - 为什么我无法将包从 fragment 传递到 Activity

转载 作者:行者123 更新时间:2023-12-02 01:44:25 24 4
gpt4 key购买 nike

我无法将 Bundle 或其他东西从 Fragment 传递到 Activity。当我只是尝试从 fragment 导航到 Activity.class 而不传递任何内容时,它会执行并显示其他 Activity ,但当我尝试通过 bundle 传递图像时,它只会重新启动我的应用程序,而不显示其他 Activity 。我不知道我的代码有什么问题。 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;

以及我获取 bundle 的 Activity

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);
}

最佳答案

按照这个方法做。首先将此代码放入您的 fragment 中。

 iv = (ImageView) view.findViewById(R.id.iv);

Bitmap bitmap = ((BitmapDrawable) iv.getDrawable()).getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
final byte[] photo = baos.toByteArray();

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Intent i = new Intent(getActivity(), ScaleImageViewActivity.class);
Bundle bundle = new Bundle();
bundle.putByteArray("image", photo);
i.putExtras(bundle);
startActivity(i);
}
});

现在在您的 Activity 中,输入以下代码。

Bundle bundle = getIntent().getExtras();
bundle.getByteArray("image");
byte [] photo = bundle.getByteArray("image");

final Bitmap bmp = BitmapFactory.decodeByteArray(photo, 0, photo.length);
final ImageView image = (ImageView) findViewById(R.id.imageView1);
image.post(new Runnable() {
@Override
public void run() {
image.setImageBitmap(Bitmap.createScaledBitmap(bmp, image.getWidth(),
image.getHeight(), false));
}
});

关于java - 为什么我无法将包从 fragment 传递到 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com