【问题标题】:Passing values between several activities在多个活动之间传递值
【发布时间】:2020-12-15 19:32:00
【问题描述】:

我在将变量传递回第一个活动时遇到了问题。

我的应用程序从一个活动开始,然后打开第二个活动,然后打开第三个活动,然后打开第四个活动,然后再次打开第一个活动。 现在我想获得一个变量,我从第一个活动的第三个活动中的用户输入中获得该变量。我已经设法在两个活动之间通过 onActivityResult() 传递变量,但我不知道如何在两个以上的活动之间进行管理。

【问题讨论】:

  • 可能是不好的做法,但有时创建一个单例全局对象来存储变量并不那么麻烦。
  • 如果您使用的不是多个活动,这似乎是一件微不足道的事情。您使用多项活动是否有原因?
  • 使用 sharedPrederenecs,您将能够在应用程序的任何位置使用相同的变量。 stackoverflow.com/q/23024831/13685592
  • 因为我只想访问一个变量,我猜 sharedPreferences 将完美地满足我的需求!我必须使用几个活动,因为每个活动都是一个填写表单,每个活动大约有 30 个用户输入,这会导致下一个填写表单。第一个活动是主菜单,我需要来自 activity2 的变量。

标签: java android android-activity parameter-passing


【解决方案1】:

使用捆绑包

您可以使用 Bundle 将值从第一个活动移动到第二个活动

检查此链接 ---> [这里] (Passing a Bundle on startActivity()?)

如果在多个活动中使用价值,您可以使用 SharePrefrence 或者您可以 类扩展应用程序并在类中创建值并在多个活动中使用这些值

如果关闭应用程序会破坏值,请小心

【讨论】:

    【解决方案2】:

    您可以使用共享首选项来访问所有活动中的变量,或者可以使用此方法:

    当从第四个活动转到第一个活动时,使用 startActivity(intent) 并将变量添加为一个额外的意图。并在第一个活动中覆盖 onBackPressed。这可能不是一个好的做法,但它确实有效。

    【讨论】:

      猜你喜欢
      • 2021-05-30
      • 2012-11-23
      • 2013-08-01
      • 2018-10-08
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多