使用Activity时,我可以将相机中的图像加载到ImageView中:
btn_camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) return;
switch (requestCode) {
case PICK_FROM_CAMERA:
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
img_profile.setImageBitmap(photo);
}
break;
case LOAD_FROM_GALLERY:
mImageCaptureUri = data.getData();
img_profile.setImageURI(mImageCaptureUri);
break;
}
}
但是,当我在Fragment中使用它时(公共类TabFragment1扩展Fragment),Android中不知道RESULT_OK参数。我知道问题是我使用的是Fragment而不是Activity,所以我该怎么做呢?
答案 0 :(得分:10)
Android
未知RESULT_OK参数
不,不是。
RESULT_OK
未知{p> Fragment
,因为RESULT_OK
is a public static
data member上定义了Activity
。
因此,要从RESULT_OK
(或继承自Activity
的类)的外部引用Activity
,请使用Activity.RESULT_OK
。