TabActivity的子活动是否支持onActivityResult()方法?

时间:2014-05-17 08:35:06

标签: android imageview bundle android-tabactivity

我知道有很多与我的问题相关的问题,但我得到任何答案谁将解决我的问题,基本上我的要求是从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();
    }}

1 个答案:

答案 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中显示。