我看了很多帖子,但仍然无法弄清楚为什么无法让它正常工作。 我只想让用户点击一个按钮打开画廊应用程序。 然后用户选择一张图片,自动关闭画廊并返回到我的应用程序,自动将该图像设置为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中没有加载任何图像。
我尝试将数据更改为位图并设置它,但它也从未显示出来。我知道这可能是一些非常简单的东西,我只是没有看到,所以希望一个新的眼睛可以指引我正确的方向。谢谢。