我知道有很多与我的问题相关的问题,但我得到任何答案谁将解决我的问题,基本上我的要求是从gallary中选择图像并将该图像设置回TabView的Tab Activity的子活动,但在TabActivity我无法调用onActivityResult()方法,因为昨天我试图搜索另一种方式来解决问题,因为我发现onActivityResult()将不会工作我试图使用bundle传递图像但我越来越 !!!失败的粘合剂交易!错误,我如何处理上述情况,请建议我调用onActivityResult()方法进入TabActivity的子活动,提前谢谢。
我的代码是
public void openGallary(int req_code) {
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, req_code);
}
这是我的onActivityResult()方法,其中我从openGallary()方法传递了requestcode:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK
&& data != null) {
Uri pickedImage = data.getData();
String[] filePath = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(pickedImage, filePath,
null, null, null);
cursor.moveToFirst();
String imagePath = cursor.getString(cursor
.getColumnIndex(filePath[0]));
imgShowLocationImage.setImageBitmap(BitmapFactory
.decodeFile(imagePath));
cursor.close();
}}
答案 0 :(得分:2)
在按钮选择上进行此操作,这将带您进入可以选择图像的图库。
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, LOAD_IMAGE_RESULTS);
然后你就像这样调用onActivityResult。
if (requestCode == LOAD_IMAGE_RESULTS && resultCode == RESULT_OK && data != null)
{
Uri pickedImage = data.getData();
String[] filePath = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(pickedImage, filePath, null, null, null);
cursor.moveToFirst();
String imagePath = cursor.getString(cursor.getColumnIndex(filePath[0]));
// image.setImageBitmap(BitmapFactory.decodeFile(imagePath));
image.setImageBitmap(BitmapFactory.decodeFile(imagePath));
cursor.close();
}
这样,拾取的图像将在你的ImageView中显示。