android - 片段中的Android onActivityResult
问题描述
我尝试在片段中获得结果。片段中的代码
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()
}
}
出于某种原因,它也很满意,但只是在片段中的 onActivityResult 之后。
解决方案
在你的活动中调用这个
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
for (Fragment fragment : getSupportFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
然后调用片段
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
//super.onActivityResult(requestCode, resultCode, data); comment this unless you
}
推荐阅读
- css - Intellij 无法在资源中找到图像路径
- powershell - 获取 ADUser AccountExpirationDate
- android - 无法向 Firebase 数据库添加查询
- python - 如何在 Python 中为一个函数输入不同类型的参数?
- kendo-ui - 剑道标签奇怪的行为
- r - R中的坐标与高度
- python - Python Kivy:如何在小部件 Kivy 文件加载后执行方法
- python-3.x - 对应于函数最大值的值的误差是多少?
- c++ - 限制 QTableWidget 列中整数的输入范围
- javascript - 如何在js中将数组转换为对象?