Android DialogFragment在Fragment中启动

时间:2014-07-27 16:13:25

标签: android android-fragments android-dialogfragment

我有一些片段,其中一个我必须要求用户选择时间,所以从片段我打开一个带有TimePicker和Button的DialogFragment,所以我想在点击按钮更新视图时在打开对话框的片段中,我该怎么做?

2 个答案:

答案 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标记中,您可能需要相应地进行调整。