1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package com.develop.base.ext
- import android.app.Activity
- import android.app.Application
- import androidx.fragment.app.Fragment
- import com.alibaba.android.arouter.facade.Postcard
- import com.alibaba.android.arouter.facade.callback.NavigationCallback
- import com.alibaba.android.arouter.launcher.ARouter
- /**
- * 注意block内不要再调用navigation
- */
- fun Activity.navigateTo(
- path: String,
- params: (Postcard.() -> Unit)? = null
- ) {
- val postcard = ARouter.getInstance().build(path)
- params?.let { postcard.it() }
- postcard.navigation(this)
- }
- fun Activity.navigateTo(
- path: String,requestCode :Int,
- params: (Postcard.() -> Unit)? = null
- ) {
- val postcard = ARouter.getInstance().build(path)
- params?.let { postcard.it() }
- postcard.navigation(this,requestCode)
- }
- fun Activity.navigateTo(
- path: String,
- params: (Postcard.() -> Unit)?,
- callback: NavigationCallback?
- ) {
- val postcard = ARouter.getInstance().build(path)
- params?.let { postcard.it() }
- postcard.navigation(this, callback)
- }
- fun Application.navigateTo(
- path: String,
- params: (Postcard.() -> Unit)? = null
- ) {
- val postcard = ARouter.getInstance().build(path)
- params?.let { postcard.it() }
- postcard.navigation(this)
- }
- /**
- * Fragment navigate to
- */
- fun Fragment.navigateTo(
- path: String,
- params: (Postcard.() -> Unit)? = null
- ) {
- requireActivity().navigateTo(path, params)
- }
- fun Fragment.navigateTo(
- path: String,requestCode :Int,
- params: (Postcard.() -> Unit)? = null
- ) {
- val postcard = ARouter.getInstance().build(path)
- params?.let { postcard.it() }
- requireActivity().navigateTo(path,requestCode,params)
- }
|