1

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

例如:

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

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

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

4

4 回答 4

1

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

您必须遵循活动堆栈..

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

第一 -> 第二 -> 第三

使用@Lalit Poptani 建议的意图

于 2012-08-29T13:21:56.287 回答
1

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

  • 在您的 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");
    
于 2012-08-29T13:23:05.053 回答
0

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

于 2012-08-29T13:25:37.670 回答
0

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

于 2012-08-29T14:09:58.143 回答