打开另一个对话片段并关闭前一个对话片段
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()
。
这样做的原因是因为您想要 Activity
的 FragmentManager
,而不是您即将解散的 DialogFragment
。否则,您将提供对话框的 FragmentManager
,然后关闭它,这将关闭您刚刚附加的对话框。
textView.setOnClickListener(new View.OnclickListener(){
@Override
public void onClick(View v){
NewDialogFragment.newInstance().show(getParentFragmentManager(),"");
dismiss();
}
});
在我的代码中,单击文本视图时我必须打开另一个对话框片段,文本视图位于主对话框片段中
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()
。
这样做的原因是因为您想要 Activity
的 FragmentManager
,而不是您即将解散的 DialogFragment
。否则,您将提供对话框的 FragmentManager
,然后关闭它,这将关闭您刚刚附加的对话框。
textView.setOnClickListener(new View.OnclickListener(){
@Override
public void onClick(View v){
NewDialogFragment.newInstance().show(getParentFragmentManager(),"");
dismiss();
}
});