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

时间:2018-02-09 13:46:23

标签: android android-studio android-fragments

在我的代码中,我必须在单击textview时打开另一个对话框片段,textView在主对话框中片段

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

问题是,当在主对话框中单击textview时,片段获取dismiss()但新的DialogFragment无法打开,

预期结果是主对话框应该dismiss()并且NewDialogFragment()应该出现

谢谢

2 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分:0)

getChildFragmentManager()更改为getFragmentManager()

之所以这样做,是因为您想要FragmentManager中的Activity,而不是您即将解散的DialogFragment。否则,您将给出对话框的FragmentManager,然后将其关闭,这将关闭刚刚附加的对话框。

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