getFragmentManager()返回null,android.support.v4.app.DialogFragment支持libraray

时间:2012-11-03 21:30:10

标签: android-fragments mapactivity

这是片段对话框:

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) {
            .....
        }
    }
}

对它的调用是从常规活动而不是从fragmentActivity完成的,因为 我的活动已经扩展了mapActivity。

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

任何想法为什么它是空的?

3 个答案:

答案 0 :(得分:1)

在我的一个片段中,我使用的是replace所以当我使用add时,它运行良好! 可能会帮助你

答案 1 :(得分:0)

活动必须从FragmentActivity扩展,才能使用Fragments。您可能必须使用解决方法,直到Google更新其地图库。

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

https://github.com/petedoyle/android-support-v4-googlemaps

答案 2 :(得分:0)

我也遇到了这个问题。只有setRetainInstance(true)才会出现问题。我的解决方法是使用父活动的FragmentManager对象而不是DialogFragment的FragmentManager。