Android fragments getFragmentManager()返回null,其中android.support.v4.app.DialogFragmentSupport为空

Android fragments getFragmentManager()返回null,其中android.support.v4.app.DialogFragmentSupport为空,android-fragments,mapactivity,Android Fragments,Mapactivity,下面是片段对话框: import android.support.v4.app.DialogFragment; public static class SensorMeasurmentsDialogFragment extends DialogFragment { public static SensorMeasurmentsDialogFragment newInstance(int title) { SensorMeasurmentsDialogFragmen

下面是片段对话框:

import android.support.v4.app.DialogFragment;  
public static class SensorMeasurmentsDialogFragment extends DialogFragment {

    public static SensorMeasurmentsDialogFragment newInstance(int title) {

        SensorMeasurmentsDialogFragment frag = new SensorMeasurmentsDialogFragment();
        Bundle args = new Bundle();
        args.putInt("title", title);
        frag.setArguments(args);
        return frag;

        @Override public Dialog onCreateDialog(Bundle savedInstanceState) {
            .....
        }
    }
}
对它的调用是从常规活动中完成的,而不是从碎片活动中完成的,因为 我的活动已经扩展了mapActivity

m_measurmentDlg=SensorMeasurmentsDialogFragment.newInstance(R.string.app_name);
m_measurmentDlg.show(m_measurmentDlg.getFragmentManager(),"measurments");

知道为什么它是空的吗

活动必须从FragmentActivity扩展,才能使用片段。在谷歌更新他们的地图库之前,你可能不得不使用一种变通方法

您可能必须使用修改后的兼容性库,例如:


活动必须从FragmentActivity扩展,您才能使用片段。在谷歌更新他们的地图库之前,你可能不得不使用一种变通方法

您可能必须使用修改后的兼容性库,例如:


我也遇到了这个问题。此问题仅发生在setRetainInstance(true)上。我的解决方法是使用父活动的FragmentManager对象,而不是DialogFragment的FragmentManager

我也遇到了这个问题。此问题仅发生在setRetainInstance(true)上。我的解决方法是使用父活动的FragmentManager对象,而不是DialogFragment的FragmentManager

在我的一个片段中,我使用了
replace
,所以当我使用
add
时,效果很好!
可能会帮助您

在我的一个片段中,我使用了
replace
,所以当我使用
add
时,它工作得很好! 也许对你有帮助