【问题标题】:How can I pass data from the current Activity to a paused Activity?如何将数据从当前活动传递到暂停的活动?
【发布时间】:2009-12-20 04:34:38
【问题描述】:

我想知道如何将数据从当前 Activity 传递到暂停的 Activity。

请指教。

【问题讨论】:

    标签: android


    【解决方案1】:

    我们将暂停的 Activity 称为“A”,将“当前”的 Activity 称为“B”。

    让 B 将结果传达给 A 的方法是 A 调用 startActivityForResult() 而不是 startActivity(),而 B 使用 setResult() 提供返回值。然后 A 在onActivityResult() 中接收这些返回值。

    【讨论】:

      【解决方案2】:

      在您当前的活动中,创建一个意图

      Intent i = new Intent(getApplicationContext(), PausedActivity.class);
      i.putExtra(key, value);
      startActivity(i);
      

      然后在暂停的活动中,检索这些值。

      Bundle extras = getIntent().getExtras(); 
      if(extras !=null) {
          String value = extras.getString(key);
      }
      

      如果数据复杂,试试http://developer.android.com/guide/appendix/faq/framework.html#3

      【讨论】:

      • 感谢您的回复。我认为这段代码将用于创建 PausedActivity 的新意图。我在完成当前活动并创建新活动时使用它。它没有将数据传递给暂停的活动。我的代码略有不同: Intent intent = new Intent(); intent.setClass(CurrentActivity.this, NewActivity.class); intent.putExtra("key", "value");开始活动(意图); this.finish();我想在没有新意图的情况下将值直接从当前活动传递给暂停活动(以前的活动)。谢谢。
      • 我相信 commonsware.com 的回答是解决这个问题的最好方法。您的替代方法是将结果存储在数据库中,当暂停的活动恢复时,您检索这些结果。
      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多