如何防止在dialogFragment中调用onActivityCreated?

时间:2017-05-01 14:41:38

标签: android android-fragments android-dialogfragment dialogfragment

我在我的应用中使用对话框片段CDialogFragment。 我需要在Activity娱乐上解雇我的DialogFragment。 要处理我使用dismiss()方法作为 -

 @Override
  public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogSlideAnim2);
    setRetainInstance(true);
    if(savedInstanceState!=null){
      dismiss();
    }
  }

它工作正常,On Activity娱乐我的对话框片段被驳回。

问题是在onCreate()中调用dismiss之后,正在调用onActivityCreated()。

要停止onActivityCreated(),我使用onCreate()中的代码作为 -

    if(savedInstanceState!=null){
     dismiss(); 
getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit();
    }

但无法停止onActivityCreated()

我也使用onDetached()但没有解决方案

请提供解决方案

1 个答案:

答案 0 :(得分:0)

要解决此问题,请尽早销毁它:当您不想再次显示时,无需重新创建它。

  1. 显示/创建对话框时,请将其保存在“活动:对话框”对话框中的全局参数中。
  2. onStop of your activity,将其解雇,以便它不会再回到你的新作品中:dialog.dismiss();