ARouter 传递实体参数接收不到?
实体类:
data class LoginBean(var personId: String = "", var token: String = "",
var code: String ="", var message: String = "",
var timestamp: Long = 0, var userName: String = "",
var organId: String = "", var position: String = "",
var organName: String = "")
跳转带参数:
val mInfo = LoginBean("123", "123","123", "123", 123123123L,"333", "444", "12323", "12333")
ARouter.getInstance().build(RouterHub.Path.APP_MAINACTIVITY).withObject(ARouterKey.Users,mInfo).navigation()
接收参数
@JvmField
@Autowired(name = ARouterKey.Users)
var mLogins: String? = null
val mUses:LoginBean? = null
if (mLogins != null) {
//问题点一:因按接收实体类方法无法接收,不知道为什么。
//问题点二:只能接收字符类型参数,所以改成字符串接收,然后使用FastJson转换成实体
mUsers = JSON.parseObject(mLogins, LoginBean::class.java)
if (mUsers != null) {
LogUtils.d("首页登录成功:" + JSONObject.toJSON(mLogins).toString())
mTv.setText(mUsers!!.organName)
}
}
欢迎大家一起来讨论。