【发布时间】:2016-04-22 20:38:01
【问题描述】:
在我的应用程序中,我有一个相机功能。用户可以捕获图像或从图库中选择。
活动 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);
}
}
}
}
我现在的问题是如何将默认图像传递给 Activity A If 用户没有选择任何图像?
这是 Activity B
中的 xmlimageView
<ImageView
android:paddingTop="30dp"
android:layout_gravity="center"
android:layout_width="330dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@mipmap/no_image"
android:scaleType="fitXY"
android:id="@+id/imageView"
android:layout_weight="0.50" />
如果没有选择图像,我希望@mipmap/no_image 返回活动 B。可以吗?谢谢。
【问题讨论】:
-
添加到
switchdefault并设置图片。 -
@dieter_h 我应该在哪里添加开关默认值?活动 A ?
-
URI 是字符串的子类。您的代码中的默认 URI 在哪里?
-
@danny117 我应该把 URI 放在哪里?在活动 A 或 B
-
就像@Rajesh 所说的那样。
标签: java android image android-camera