2014-01-15 21 views
1

我在所有屏幕底部使用了选项卡,并且我使用onactivityresult()方法从图库和camera.my代码中选择图像,但没有选项卡活动。但是当我使用我的代码时,Tabactivity不起作用。,我2天寻找,但没有解决不饶人,我做什么..,我所以从这个frusted,请帮助我..,thankyou.here是onactivityresult()方法:android如何通过tabhost活动调用onactivityResult?

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

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

您的onActivityResult应放在TabActivity组

与你的startActivityForResult应该叫指父活动

例如:

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); 
+0

thnaku..but我有解决方案... :) – rajshree

+0

那么,为什么不公布它,而不是:1.解答未回答的问题和2.不接受@ beginner1答案? – momo

相关问题