我正在尝试将Algolia实现到BottomSheetDialogFragment中,并且遇到一些我认为与生命周期相关的问题。我正在努力弄清楚生命周期是什么,但是我找不到答案。
很抱歉,为什么有一个明显的理由来获取这些信息,但是我试图查看文档,但找不到它。
我特别想知道何时调用des onCreateDialog,以及该片段是否还有其他独特的方法。 我的问题是,由于某种原因,我的searchBox似乎无法与Hits View很好地连接(当我使用持久性底部工作表时,相同的代码可以工作,但是我必须进行更改),我想知道是否需要调用searcher和我代码中其他地方的帮助程序。
答案 0 :(得分:1)
BottomSheetDialogFragment
的生命周期与Fragment
相同。
这很容易理解,因为BottomSheetDialogFragment
扩展了AppCompatDialogFragment
(仅添加了onCreateDialog()
个函数),而后者又扩展了DialogFragment
(并添加了{{1} }和onCreateDialog()
函数),进而扩展了setupDialog()
。
Fragment
与DialogFragment
(reference)具有相同的生命周期。由于没有涉及到任何生命周期方法,因此Fragment
和AppCompatDialogFragment
的生命周期与BottomSheetDialogFragment
相同。
onCreateDialog上的公共对话框(已保存的BundleInstanceState)
重写以构建自己的自定义Dialog容器。通常是 用于显示AlertDialog而不是通用对话框;做的时候 因此,Fragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup,android.os.Bundle)不需要 由于AlertDialog负责自己的内容,因此得以实现。
此方法将在onCreate(android.os.Bundle)和 在Fragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup,android.os.Bundle)。默认实现 只需实例化并返回一个Dialog类。
注意:DialogFragment拥有Dialog#setOnCancelListener和 Dialog#setOnDismissListener回调。您不能自己设置它们。 要了解有关这些事件的信息,请覆盖 onCancel(android.content.DialogInterface)和 onDismiss(android.content.DialogInterface)。
Official documentation供进一步参考。