【发布时间】:2020-07-20 16:13:46
【问题描述】:
现在我像这样显示我的对话框片段:
viewModel.onMoreMenuClickEvent.observe(this, Observer { event ->
event.getContentIfNotHandled()?.let { menuItems ->
dialogFragment = BottomMenuDialog.newInstance(menuItems = menuItems).also {
it.setTargetFragment(this, MORE_MENU_REQUEST_CODE)
activity?.showDialogFragment(it)
}
}
})
在我的nav_graph.xml 我添加了对话框:
<dialog
android:id="@+id/bottomMenuDialog"
android:name="com.mandarine.sai.features.menu.BottomMenuDialog"
android:label="BottomMenuDialog" />
还有写导航的乐趣:
findNavController().navigate(R.id.bottom_menu_dialog)
但是我如何添加我在newInstance 和it.setTargetFragment(this, MORE_MENU_REQUEST_CODE) 中发送的菜单项?
这里也是我newInstance()的代码:
fun newInstance(
menuId: String = "",
menuItems: List<MenuItemData>
): BottomMenuDialog {
return BottomMenuDialog().apply {
arguments = Bundle().apply {
putString(KEY_ID, menuId)
putSerializable(KEY_ITEMS, ArrayList(menuItems))
}
}
}
}
【问题讨论】:
标签: kotlin android-jetpack-navigation