これを親Activityクラスに追加することで解決しました:
private Intent mActivityStarted = null;
[...]
@Override
public void startActivity(Intent intent) {
if (mActivityStarted == null || mActivityStarted == intent) {
mActivityStarted = intent;
super.startActivity(intent);
}
}
@Override
public void startActivityForResult(Intent intent, int requestCode) {
if (mActivityStarted == null || mActivityStarted == intent) {
mActivityStarted = intent;
super.startActivityForResult(intent, requestCode);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mActivityStarted = null;
super.onActivityResult(requestCode, resultCode, data);
}
これを親 Fragment クラスにも追加し、(( OurParentActivityClass ) getActivity()) を使用して同じ mActivityStarted を共有します。getterForMActivityStarted ()
フラグメントを一度だけ起動するために、同じ mActivityStarted も変更するようにしました。