前言
我们都知道在Activity之间传递数据很繁琐,为了简化,很多人都是使用过EventBus,可EventBus在追踪问题时反而束手无策,反而增加调试时间,那我们能不能找一个折中的方案,又能简单的实现,又能容易追查问题呢?下面请允许我介绍一下最新的方式在实现数据的Result。
先来看看以前我们都是如何做的
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK) {
when (requestCode) {
REQUEST_PERMISSION -> {
// Do something if success / failed
}
REQUEST_MULTIPLE_PERMISSION -> {
// Do something if success / failed
}
REQUEST_TO_POST -> {
// Parse result and do something
}
}
}
super.onActivityResult(requestCode, resultCode, data)
}
companion object {
const val REQUEST_PERMISSION = 1001
const val REQUEST_MULTIPLE_PERMISSION = 1002
const val REQUEST_TO_POST = 1003
}
以前,我们都是这样处理Result,分别定义不同的RequestCode,然后根据这个值来匹配数据。我们再来看看新的方式,然后做个比较
Activity Result新方式
step one
加入依赖