【发布时间】:2019-01-23 09:53:25
【问题描述】:
我尝试在片段中获取结果。 片段中的代码
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode != Activity.RESULT_OK) return
val bundle = data?.extras
when (requestCode) {
LicenseActivationActivity.REQUEST_RESULT_COUNT_ENTERPRISE ->
//
}
}
调用此代码。也是 DrawerActivity 中的 onActivityResult 方法
onActivityResult 是否只在片段中被调用?
更新
DrawerActivity 中的这段代码
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK) {
WayBillsActivity.start(this)
finish()
}
}
由于某种原因,它也满足了,但只是在fragment中的onActivityResult之后。
【问题讨论】:
-
首先它总是调用活动onActivityResult,然后你必须调用片段onActivityResult
-
从方法中删除超级。
-
是的。我不明白这个事件是从哪里来的。 DrawerActivity 中的值 requestCode 不会在应用程序的任何地方使用。
标签: android kotlin fragment startactivityforresult