java如何在未选择图像的情况下将默认图像传递给上一个活动
在我的应用程序中,我有一个摄像头功能。用户可以捕获图像或从图库中拾取
活动B
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_LOAD_IMAGE:
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK & null != data) {
selectedImage = data.getData();
imageView.setImageURI(selectedImage);
}
break;
case REQUEST_IMAGE_CAPTURE:
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
try {
selectedImage = imageUri;
getContentResolver().notifyChange(selectedImage, null);
imageView.setImageURI(null);
imageView.setImageURI(imageUri);
} catch (Exception e) {
Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT)
.show();
}
}
}
}
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent returnIntent = new Intent();
if(selectedImage!=null) {
returnIntent.putExtra("img_uri", selectedImage.toString());
}
setResult(Activity.RESULT_OK, returnIntent);
finish();
}
});
单击“提交”按钮后,它将返回到上一个活动
活动A
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == PROJECT_REQUEST_CODE) {
imgURI = Uri.parse(data.getStringExtra("img_uri"));
if (mClickedPosition == -1) {
if (obj != null)
obj.addNewItem(imgURI);
} else {
if (obj != null)
obj.changeItem(mClickedPosition, imgURI);
}
}
}
}
My question now is how to pass a default image to Activity A If user didn't select any image ?
这是活动B中的xmlimageView
<ImageView
安卓:paddingTop="30dp"
安卓:layout_gravity="center"
安卓:layout_width="330dp"
安卓:layout_height="wrap_content"
安卓:adjustViewBounds="true"
安卓:src="@mipmap/no_image"
安卓:scaleType="fitXY"
安卓:id="@+id/imageView"
安卓:layout_weight="0.50" />
如果未选择图像,我希望@mipmap/no_image
返回活动B。是否可能?谢谢
# 1 楼答案
你不需要将默认图像返回活动a。就像其他人写的那样,你只需要为用户没有选择任何图像的情况做好准备。 修改活动A的onActivityResult,如下所示:
# 2 楼答案
代码:
# 3 楼答案
默认情况下,将
selectedImage
的值设置为“默认”现在在
addNewItem()
和changeItem()
检查imageUri
中传递的值# 4 楼答案
您可以通过以下方式传递存储在参考资料中的图像的Uri:
然后您可以像往常一样使用它在
ImageView
中显示图像