我浏览了很多帖子,无法弄清楚为什么我不能让它工作。我想要做的就是让用户单击一个打开画廊应用程序的按钮。然后用户选择一张图片,它会自动关闭图库并返回到我的应用程序,它会自动将该图像设置为 ImageView。
到目前为止,我一直在工作,直到它回到我的应用程序。看起来一切都很好,但图像从未出现在 ImageView 中。
这是 ImageView 的 XML 代码:
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:layout_gravity="center_horizontal" />
在我的活动开始时,我将 ImageView 设置为:
ImageView targetImage;
这是获取图像并将其设置到我的 ImageView 的其余代码。有一个按钮可以启动“setGunImage”。
public void setGunImage(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
targetImage = (ImageView)findViewById(R.id.imageView1);
Uri selectedImageUri = data.getData();
targetImage.setImageURI(selectedImageUri);
}
}
}
我已经在启用了 sd 卡的模拟器和加载到真实设备上的图像上对其进行了测试。两者都给出相同的行为。它通过图库步骤很好,但是当它返回到我的应用程序时,ImageView 中没有加载图像。
我尝试将数据更改为位图并进行设置,但它也从未出现过。我知道这可能是我没有看到的超级简单的事情,所以希望一双新的眼睛可以为我指明正确的方向。谢谢。