是否有可能在adapter
&范围内有方法onActivityResume
致电startActivityForResult
?我们可以从适配器调用startActivityForResult吗?
回答
是的。只需将该活动的上下文传递给适配器的构造函数中的适配器(这里存储为mContext)。 在getView,只需拨打
((Activity) mContext).startActivityForResult(intent,REQUEST_FOR_ACTIVITY_CODE);
谢谢@ user936414。 – napster 2016-04-03 14:05:02
我们如何确定这里的上下文始终是Activity的一个实例? – Asakura 2017-04-21 09:16:06
@Asakura正如答案中提到的“只需将活动的上下文传递到适配器的构造函数中的适配器” - 您需要传递活动的上下文 – user936414 2017-05-15 05:06:01
不一定传递通过适配器的构造背景。您可以从父ViewGroup获取上下文。样品RecyclerView适配器:
Context mContext;
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
mContext = parent.getContext();
...
}
样品的ListView BaseAdapter
Context mContext;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
mContext = parent.getContext();
...
}
并使用它,无论你想
((Activity) mContext).startActivityForResult(intent, REQUEST_FOR_ACTIVITY_CODE);
上下文没有startActivityForResult?你需要一个活动。 – Kenneth 2015-11-27 07:45:50
您可以将mContext强制转换为Activity:'((Activity)mContext)' – eugeneek 2015-11-27 10:26:40
我刚刚发现的一个问题是,如果您在Fragment中接收到结果,它将不会被传递。即使你调用super.onActivityResult(requestCode,resultCode,data);在你的活动中,它似乎没有把结果传递给你的片段。在进一步阅读这里:http://stackoverflow.com/questions/6147884/onactivityresult-not-being-called-in-fragment我发现你必须进行调用startActivityForResult没有任何活动。思考? – mparkes 2016-04-21 22:30:13
- 1. 我们可以禁用AOP调用吗?
- 2. Worklight:我们可以使用从JS适配器调用的Java代码中的两阶段提交吗?
- 3. 机器人如何调用startActivityForResult适配器
- 4. 我们可以调整QR码吗?
- 5. 我们可以从ASP.NET MVC 3项目中调用Webservice吗?
- 6. 我们可以从函数调用存储过程吗?
- 7. 我们可以从Delphi调用Native Windows API吗?
- 8. 我们可以从html文本框中调用java函数吗?
- 9. 我们可以从java调用python方法吗?
- 10. 是否可以从适配器执行存储库调用
- 11. 我们可以从DialPlan Ping延伸吗?
- 12. 我可以从wsdl调用方法吗?
- 13. 我可以在MobileFirst 8适配器中设置AuthenticatedUser吗?
- 14. ibm mobilefirst - 从Java适配器调用javascript适配器
- 15. 从列表适配器调用viewpager适配器
- 16. 我应该使用表适配器吗?
- 17. 从onActivityResult调用新的StartActivityForResult
- 18. 我们可以用Struts2中的参数调用方法吗?
- 19. 我们可以使用javascript调用iOS8扩展吗?
- 20. 我们可以设置认知服务API调用的配额限制吗?
- 21. 我们可以从浏览器安装插件或软件吗?
- 22. 我们可以使用AJAX和XHTML吗?
- 23. puppeteer:我们可以用Audio吗?
- 24. 我们可以临时分配MAC应用吗?
- 25. 我们可以使用匹配来检查类的类型吗
- 26. 您可以在MRI ruby上使用JDBC适配器吗
- 27. 我们可以以编程方式配置Chrome吗?
- 28. 我们可以在函数调用时应用python装饰器吗?
- 29. 我们可以使用空手道从另一个功能调用场景吗?
- 30. 如何从适配器调用片段
是的,你在适配器 – ckpatel 2012-08-09 11:59:22
确保使用startActivityForResult我有一个列表视图即从适配器获取其内容。我有一个按钮在适配器上,点击按钮另一个活动将开始并返回一些东西 – napster 2012-08-09 12:08:18
http://stackoverflow.com/questions/2497205/how-to-return-a-result-startactivityforresult-from-a-tabhost-activity它的一个complate例子与你的quastion相同.i它的帮助。所有最佳 – ckpatel 2012-08-09 12:10:59