我在所有屏幕的底部使用选项卡。我正在使用 onactivityresult() 方法从图库和相机中选择图像。我的代码在没有选项卡 Activity 的情况下工作。但是当我将我的代码与 tabactivity 一起使用时,它不是工作,我从 2 天开始搜索,但没有找到解决方案。我做了什么。我对此感到非常沮丧,请帮助我。谢谢。这是 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;
}
}
最佳答案
我可能迟到了,但无论如何这就是答案:
你的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);
关于android 如何使用 tabhost Activity 调用 onactivityresult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21137478/