【问题标题】:Calling a method when another activity finishes当另一个活动完成时调用方法
【发布时间】:2013-05-14 12:36:12
【问题描述】:

我正在使用一个库,该库在另一个 Activity 之上呈现一个 Activity。我没有使用 Bundles 或 onCreate()。

所以...活动 A 在后台运行,而活动 B 在前台运行。我想在 Activity B 完成后调用 Activity A 中的方法。

关于如何实现这一点的任何想法/建议?这可能是一个算法问题。我仍然是一个新手程序员,所以我非常感谢帮助!谢谢!

【问题讨论】:

  • 我认为你应该改进你的要求,更具体地说,除了我不明白没有覆盖 onCreate() 方法的情况下可以有一个 Activity 的用途。
  • 哪一部分不清楚?
  • 我不清楚您如何在另一个 Activity 之上呈现 Activity。与普通活动堆栈相比,这有什么区别?
  • 不同之处在于我没有使用 Bundles 或 onCreate()
  • 你能分享你的代码吗?更多说明

标签: android methods android-activity activity-finish


【解决方案1】:

我认为最接近你想要的是使用startActivityForResult,像这样:

   ...
   Intent intent = new Intent("com.some.foo");
   startActivityForResult(intent,REQUEST);
   ...

并从以下位置调用您想要的方法(当活动 foo 完成时):

@Override
public void onActivityResult(int arg1, int arg2, Intent data )
{
   if(arg1 == REQUEST)
   {
       MethodToCall();
   }
}

【讨论】:

  • 我不熟悉 startActivityForResult。生病必须看看它。谢谢
  • 不幸的是,这对我不起作用。对于我正在使用的库,我没有意图。
【解决方案2】:

您可以将您的活动重新格式化为 Fragments 并做任何您想做的事情 - 您将可以从片段 B 直接访问片段 A 的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    相关资源
    最近更新 更多