【问题标题】:OnActivityResult in fragment片段中的 OnActivityResult
【发布时间】:2018-05-18 13:09:30
【问题描述】:

我正在开发一个依赖于地图和位置的安卓应用程序。 我有包含fragmentAActivityA

我有一个警报,要求用户在fragmentA 中打开定位服务。 当用户接受打开服务时,我希望我的代码继续运行,否则finish() 应用程序。所以我应该使用OnActivityResult() 来了解用户在警报中按下了什么。 我的问题是当用户接受打开位置时,函数OnActivityResult() 是在活动中而不是在片段中启动的。 我读到了这个问题,人们建议打电话给startActivityForResult(...)而不是startActivity(...)。 但是我不能从内部片段开始活动,因为这将导致有关意图中的数据的崩溃问题。 那么有人有什么建议吗? 这是在fragmentA中请求位置的函数。

【问题讨论】:

  • @ADM 我看到了这篇文章,我认为他们正在谈论从另一个活动中获取结果,我的问题是从同一活动中获取结果。
  • But I can't start the activity from an inside fragment because this will lead to crash problems ?这是什么意思?虽然您可以使用片段中的startActivityForResult()
  • 我正在从另一个活动 (ActivityB) 开始活动 (ActivityA),并按意图发送数据并将它们放入 ActivityA,所以当我从片段调用 startActivityForResult() 时,数据意图内部是空值。我可以知道我是从 ActivityB 还是从片段 (fragmentA) 开始活动 (ActivityA),但我正在以更简单的方式进行搜索。

标签: android android-fragments onactivityresult


【解决方案1】:

Intent intent = new Intent(getActivity(), yourClass.class); getActivity().startActivity(intent);

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2014-04-28
    • 2011-09-03
    相关资源
    最近更新 更多