我有一些需要显示常规对话框的片段.在这些对话框中,用户可以选择是/否答案,然后片段应该相应地运行.
现在,Fragment该类没有onCreateDialog()覆盖的方法,所以我想我必须在包含的外部实现对话框Activity.没关系,但是Activity需要以某种方式向片段报告所选择的答案.我当然可以在这里使用回调模式,因此片段在Activity一个监听器类中注册自己,而Activity会通过它报告回答,或类似的东西.
但对于一个简单的任务来说,这似乎是一个相当大的混乱,因为在一个片段中显示一个"简单的"是 - 否对话框.而且,这样我的Fragment自足也会减少.
有没有更清洁的方法来做到这一点?
编辑:
这个问题的答案并没有真正详细解释如何使用DialogFragments来显示Fragments中的对话框.所以AFAIK,走的路是:
.setTargetFragment().在大多数情况下,处理案件时
AsyncTask)执行后台处理Activity或FragmentActivity或者Fragment在用户线程完成后台处理之前可能会重新创建到目前为止,从许多可靠的来源,我可以看到推荐的方法是使用 保留片段
我不时地听说事件总线库可以处理活动,片段和后台线程之间的关系.(请参阅https://github.com/greenrobot/EventBus.它表示在活动,片段和后台线程中表现良好)
我遇到了一些非常受欢迎的事件总线库
我想知道,当处理活动,碎片和后台线程之间的关系时,事件总线方法与保留碎片方法有何不同?
推荐哪种方式?
android event-bus android-asynctask otto greenrobot-eventbus
我在FragmentActivity中设置了内容视图,活动将根据布局文件中指定的类名为我创建片段实例.但是我怎样才能获得该片段实例?
public class MyActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle extra) {
super.onCreate(extra);
setContentView(R.layout.page_fragment);
}
}
Run Code Online (Sandbox Code Playgroud)