如果我传递片段对象 throw 函数是干净的代码
If I pass fragment object throw function is clean code
例如:
object ThisClassForNavigateToSomeFragment{
internal fun navigateToFragment1(
productId: Long, navigateId:Int, fragment:Fragment) {
val bundle = Bundle()
bundle.putLong("product_id", productId)
fragment.findNavController().navigate(navigateId, bundle)
}}
internal fun navigateToFragment(
productId: Long, navigateId:Int, fragment:Fragment) {
val bundle = Bundle()
bundle.putLong("product_id", productId)
fragment.findNavController().navigate(navigateId, bundle)
}}
这是干净的代码吗,如果我通过 fragment 抛出一个函数,这样好吗?
为什么要有不同的导航功能?您可以简单地在 BaseFragment 或 BaseActivity 中添加一个方法,如下所示。 (并在您的片段或 activity 中扩展它)
protected fun navigate(directions: NavDirections) {
findNavController().navigate(directions)
}
这很简单,您真的不需要对象来完成这个简单的任务。
由于您传递了 NavDirection 对象,因此您可以传递一个带或不带附加物的对象。
例如:
object ThisClassForNavigateToSomeFragment{
internal fun navigateToFragment1(
productId: Long, navigateId:Int, fragment:Fragment) {
val bundle = Bundle()
bundle.putLong("product_id", productId)
fragment.findNavController().navigate(navigateId, bundle)
}}
internal fun navigateToFragment(
productId: Long, navigateId:Int, fragment:Fragment) {
val bundle = Bundle()
bundle.putLong("product_id", productId)
fragment.findNavController().navigate(navigateId, bundle)
}}
这是干净的代码吗,如果我通过 fragment 抛出一个函数,这样好吗?
为什么要有不同的导航功能?您可以简单地在 BaseFragment 或 BaseActivity 中添加一个方法,如下所示。 (并在您的片段或 activity 中扩展它)
protected fun navigate(directions: NavDirections) {
findNavController().navigate(directions)
}
这很简单,您真的不需要对象来完成这个简单的任务。
由于您传递了 NavDirection 对象,因此您可以传递一个带或不带附加物的对象。