【问题标题】:how to directly pass value of a variable from 1st activty to 3rd activity using putextra?如何使用 putextra 将变量的值从第一个活动直接传递到第三个活动?
【发布时间】:2012-08-29 22:09:58
【问题描述】:

如何使用 putextra 将变量的值从第一个活动直接传递到第三个活动?

例如:

如果我点击按钮,我在第一个屏幕(第一个活动)中有一个变量 A,它将显示第二个屏幕。第二个屏幕(第二个活动)有一个按钮。如果我单击按钮,它将打开第三个屏幕(第三个活动),它将在第三个屏幕(第三个活动)的文本视图中显示变量 A。

如何将变量 A 的值从第一个屏幕直接传递到第三个屏幕(第三个活动)。 (1->3)

是否可以直接传递值?或者我应该先在第二个活动中传递它,然后再传递给第三个活动(1st->2nd->3rd)

【问题讨论】:

标签: android android-intent


【解决方案1】:

实际上不可能直接从第一个活动转到第三个...

您必须遵循活动堆栈..

因此,如果您希望将数据从第 1 次传递到第 3 次,请遵循

第 1 -> 第 2 -> 第 3

使用@Lalit Poptani 建议的意图

【讨论】:

    【解决方案2】:

    您可以在任意两个活动之间传递任意值。你只需要做两件事:

    • 在您的 FirstActivity 中:

      Intent intent = new Intent(context, ThirdActivity.class);
      i.putExtra("value_key", value); //valus is a String
      startActivity(intent);
      
    • 在您的 ThirdActivity 的onCreate()

      Bundle b = getIntent().getExtras();
      String value = (String) b.getString("value_key");
      

    【讨论】:

      【解决方案3】:

      您可以将它们保留为静态对象并以Myclass.myObject 检索。但你真正想要的是不可能的。

      【讨论】:

        【解决方案4】:

        您可以使用数据库、SharedPreferences、应用程序、静态方法等在 Activity 之间共享数据。看here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-30
          • 2021-05-14
          • 2017-06-14
          • 2012-12-08
          • 2016-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多