私のフラグメントでは、写真キャプチャの startActivityforresult インテントを開始しました。フラグメント クラスで onActivityResult コールバック メソッドをオーバーライドしました。他の目的のために、メイン アクティビティに onActivityResult コールバックを実装しました。私の問題は、実行がアクティビティ onActivityResult メソッドを呼び出し、null ポインター例外を返した後のフラグメント onActivityResult です。Fragment onactivityresult メソッド
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
prof_bitmap = null;
if (requestCode == 0)
{
Log.e("" ,"entered activity Result Code 0");
Uri photoUri = data.getData();
if (photoUri != null)
{
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(
photoUri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Log.e("" ,"File Path" +filePath);
prof_bitmap = setImage(filePath);
}
}
if (requestCode == 1)
{
Log.e("" ,"entered activity Result Code 1");
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
prof_bitmap = bitmap;
Log.e("" ,"entered activity Result Code 1"+bitmap);
profile_pic.setImageBitmap(bitmap);
}
}
}
アクティビティ onActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Log.e("" ,"called onActivityResult in main");
Session.getActiveSession().onActivityResult(this, requestCode,
resultCode, data);
}
フラグメント onactivityresult メソッドのみを呼び出す方法は?
私のログキャット
結果 ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data dat=content://media/external/images/media/222 (extras) }} をアクティビティに配信できませんでした{com.mobiotics.tvbuddydemo/com.mobiotics.tvbuddydemo.TVBuddyMainActivity}: java.lang.NullPointerException