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

问题描述:

这里是片段的对话框:getFragmentManager()返回null,与android.support.v4.app.DialogFragment支持libraray

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"); 

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

活动必须从FragmentActivity扩展为您能够使用片段。此时您可能必须使用解决方法,直到Google更新其地图库。

您可能需要使用修改兼容性LIB像这样的:

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

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

在我的一个片段中,我使用的是replace,所以当我使用add时它效果很好! 可能会帮到你