android如何使用tabhost活动调用onactivityresult?

时间:2014-01-15 12:29:01

标签: android

我在所有屏幕上使用底部的标签。,我正在使用onactivityresult()方法从图库和相机中选择图像。我的代码工作没有标签活动。但是当我使用我的代码与tabactivity它不工作,我正在寻找2天,但没有解决方案。我做了什么..,我很害怕,请帮助我..,thankyou.here is ontivity_reult()方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case 1:
        if (resultCode ==RESULT_OK)
        {
            Uri chosenImageUri = data.getData();
            String imagepath= getpath(chosenImageUri);
            Bitmap bitmap = BitmapFactory.decodeFile(imagepath);
            customImageView.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 120, 120, false));
            Constant._profilePicBase64=Constant.convertBitmapToBase64(bitmap);
            getprofilepic();

        }else{
            Toast.makeText(SettingsActivity.this, "Unable to get Image", Toast.LENGTH_SHORT).show();
        }
        break;
    case 2:
        if (resultCode ==RESULT_OK)
        {
            try{
                Bitmap bitmap = (Bitmap) data.getExtras().get("data");
                customImageView.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 120, 120, false));

                Constant._profilePicBase64=Constant.convertBitmapToBase64(bitmap);
                getprofilepic();

            }catch (OutOfMemoryError e) {
                e.printStackTrace();
            }   catch (Exception e) {
                e.printStackTrace();
            }
        }else{
            Toast.makeText(SettingsActivity.this, "Unable to get Image", Toast.LENGTH_SHORT).show();
        }
        break;
    }
}

1 个答案:

答案 0 :(得分:1)

我可能会迟到但无论如何这就是答案:

你的onActivityResult应该放在TabActivity组

并且应该调用您的startActivityForResult来引用父Activity

示例:

TabActivityGroup parentActivity = (TabActivityGroup) getParent();
Intent gallery = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

parentActivity.startActivityForResult(gallery, IMAGE_PICKER_REQUEST);