【问题标题】:Calling startactivityforresult inside activity that has been called by startactivityforresult在已由 startactivityforresult 调用的活动内调用 startactivityforresult
【发布时间】:2017-10-12 12:53:47
【问题描述】:

我有这个问题,我有一个A 的列表,我可以添加新的A,所以我startactivityforresult 活动的表单为A,还有一个用于选择AType 的按钮,所以我startactivityforresult 另一个活动与AType 列表。
当我在AType 列表中发回结果时,问题就来了。

Intent intent = new Intent();
intent.putExtra("aType", aType);
setResult(RESULT_OK, intent);
finish();

结果被推回AList而不是AForm。
这是正常行为还是我做错了什么?
如果这是正常行为,我该怎么做才能将结果推回A Form 而不是A List。

如果您需要更多代码 - 我会提供,但我现在觉得它无关紧要。


我发现A 表单在startactivityforresult 调用后完成。但是为什么呢?

【问题讨论】:

  • 您能否提供一个完整的代码示例?显示此处涉及的所有活动类,以及与您的问题相关的部分代码。有关创建良好代码示例的提示,请参阅minimal reproducible example
  • 在下面发布答案。我有 noHistory="true" 这个活动:/

标签: java android onactivityresult


【解决方案1】:

活动1:

Intent intent-=new Intent(this,myclass.class);
startActivityforResult(intent,100);

在 Activity 1 中重写方法 OnACtivity 结果

活动 2:

setResult(RESULT_OK);
finish();

【讨论】:

  • 你理解问题了吗?
  • @Anonymous,我相信不会,你知道这是否正常吗?
【解决方案2】:

原来我在AndroidManifest.xml 中有noHistory="true" 用于活动A Form,这就是为什么它要回到A List 活动

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    相关资源
    最近更新 更多