【发布时间】:2017-12-01 08:39:57
【问题描述】:
如何从自定义listView 中创建startActivityForResult?
这是我的代码:
((Activity) context).startActivityForResult(intent, 100);
我应该把onActivityResult 方法放在哪里?
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
列表视图显示在我的MainActivity中,那么我将方法onActivityResult放在哪里?在MainActivity??
【问题讨论】:
-
onActivityResult 应该在 MainActivity 中被覆盖
-
onActivityResult 方法属于 Activity 类。因此,不可能在任何地方覆盖该功能(RecyclerView 适配器)。这里似乎有什么问题?
-
@RohitSingh 请注意,片段也有一个 onActivityResult。他们的宿主 Activity 会将其转发给名为 startActivityForResult 的片段
-
我们可以在扩展 Fragment 类的类中覆盖 onActivityResult 吗?或者您的意思是我们通过制作 interface 使用的回调方法。 @RobCo
-
是的,前者。 onActivityResult 可以在(支持)片段子类中被覆盖。您只需要确保您还在该片段而不是父活动上调用 startActivityForResult。 @RohitSingh
标签: java android listview adapter