Kotlin 中使用ARouter遇到问题反馈(不断更新...)

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)
  }
}

欢迎大家一起来讨论。

你可能感兴趣的:(Kotlin学习,ARouter)