我有一些片段,其中一个我必须要求用户选择时间,所以从片段我打开一个带有TimePicker和Button的DialogFragment,所以我想在点击按钮更新视图时在打开对话框的片段中,我该怎么做?
答案 0 :(得分:1)
public interface DialogListener {
public void onDialogEnded(Bundle bundle);
}
在Parent Fragment中听这个DialogListener。
在Dialog片段中的调用带有null的DialogListener或带有数据的任何类型的bundle,这将调用父Fragment中的监听器以及你需要的内容。
DialogFragment中的创建一个设置监听器示例:
private DialogListener mListener;
public void setListener(DialogListener listener) { mListener = listner; }
当你调用Dialog之前调用Listener。
答案 1 :(得分:0)
最简单的方法是替换调用上下文的片段,如下所示:
public void replaceFrag(){
FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_container, new YourNewFragment());
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
}
在按钮的onClick()事件中调用此方法
这个问题,您的片段以编程方式提交到fragment_container xml标记中,您可能需要相应地进行调整。