打开另一个对话片段并关闭前一个对话片段

Opening another dialog fragment and closing the previous one

在我的代码中,单击文本视图时我必须打开另一个对话框片段,文本视图位于主对话框片段中

textView.setOnClickListener(new View.OnclickListener(){
  @Override
  public void onClick(View v){
     NewDialogFragment.newInstance().show(getChildFragmentManager(),"");
     dismiss(); 
   }
});

问题是,当在主对话框片段中单击文本视图时得到 dismiss() 但新的 DialogFragment 没有打开,

预期结果是主 dialogFrament 应该 dismiss()NewDialogFragment() 应该出现

谢谢

试试这个:

textView.setOnClickListener(s->{
NewDialogFragment.newInstance().dismiss()
NewDialogFragment.newInstance().show(getChildFragmentManager(),"");
});

getChildFragmentManager() 更改为 getParentFragmentManager()

这样做的原因是因为您想要 ActivityFragmentManager,而不是您即将解散的 DialogFragment。否则,您将提供对话框的 FragmentManager,然后关闭它,这将关闭您刚刚附加的对话框。

textView.setOnClickListener(new View.OnclickListener(){
  @Override
  public void onClick(View v){
     NewDialogFragment.newInstance().show(getParentFragmentManager(),"");
     dismiss(); 
   }
});