gpt4 book ai didi

android - 如何从其他 Activity 中获取 ImageButton 图像?

转载 作者:行者123 更新时间:2023-11-30 00:53:32 25 4
gpt4 key购买 nike

我有 2 个 Activity 如下:第一个 Activity (AddActivity.java activity_add.xml) 包含图像按钮:

<ImageButton
android:layout_width="match_parent"
android:layout_height="120dp"
android:onClick="onClickImageButton"
android:id="@+id/imageButtonProfile"/>

第二个 Activity :(EnlargeImageActivity.java - activity_enlarge_image.xml)包含另一个图像按钮:

<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/enlargeImageButtonProfile"
android:onClick="onClickImageButton"/>

创建第二个 Activity (EnlargeImageActivity) 时,我想将第一个 Activity 中的图像放入第二个 Activity 中。我在这里阅读:

How can I pass an Buttom ID to other Activity

不建议在 2 个 Activity 之间传递图像。那么如何在创建第二个 Activity 时获取第一个 Activity 的ImageButton呢?我无法调用 findViewById(R.id.imageButtonProfile); 因为我得到的是 null

我尝试过使用:

ImageButton ib=(ImageButton)findViewById(R.id.imageButtonProfile);
Intent intent = new Intent(this, EnlargeImageActivity.class);
intent.putExtra(SRC_IMG_BUTTON_ID, ib.getId());
startActivity(intent);

在 EnlargeImageActivity.java 中:

Intent intent = getIntent();
int srcId = intent.getIntExtra(AddActivity.SRC_IMG_BUTTON_ID, 0);
ImageButton ibSrc =(ImageButton)findViewById(srcId);

但相同的结果 ibSrc 为空

最佳答案

您可以传递要在 imageButton 中加载的图像的 URI,而不是尝试传递图像。从 Activity A 传递包含图像 URI 的 extraData。在 Activity B 中获取包含 URI 的 extraData 并设置您的 imageView 源。
所以在构建 Intent 时这样做:

intent.putExtra("imageUri", imageUri.toString());

来自 Activity B:

Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String uriFromActivityA = bundle.getString("imageUri");
if (uriFromActivityA != null) {
Uri imageUri = Uri.parse(uriFromActivityA);
imageButton.setImageUri(imageUri);
}
}

关于android - 如何从其他 Activity 中获取 ImageButton 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40563675/

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