1

在将变量的值从第一个活动传递到第三个活动时,我应该使用 intent.putextra 还是应该将变量设为全局变量,以便可以在任何活动中使用它。

4

4 回答 4

4

你有几个选择:

  • 实现你自己的 Application 类,并使这个变量成为类的属性
  • 在首选项中保存并获取此变量
于 2012-08-27T14:27:18.700 回答
1

最好的方法是使用意图。

不过,有时您需要一个更持久的变量,或者存储一个更复杂的对象。在这些情况下,您可以使用静态变量,例如在单例类中。

于 2012-08-27T14:26:20.533 回答
1

这绝对是您的决定,但我想用户可以转到活动 2 并按回,从而取消对这个变量的需要。

最好的选择是将值作为附加值发送到活动 2。然后,如果需要,它可以将其发送到活动 3。

提醒 不要将静态variables用于静态变量几乎总是错误的

于 2012-08-27T14:26:36.517 回答
0

您可以将会话 ID 传递给意图中的注销活动,用于启动活动:

    Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
    intent.putExtra("EXTRA_SESSION_ID", sessionId);
    startActivity(intent)

注意:使会话 ID 可用于您希望允许用户注销的每个活动。否则,您可以将其存储在 Application 对象中,但是您必须管理会话的状态(在使用它之前检查它是否有效,...)

于 2012-08-30T03:22:38.140 回答