【发布时间】:2012-08-27 14:24:17
【问题描述】:
在将变量的值从第一个活动传递到第三个活动时,我应该使用 intent.putextra 还是应该将变量设为全局变量,以便可以在任何活动中使用它。
【问题讨论】:
标签: android variables global-variables
在将变量的值从第一个活动传递到第三个活动时,我应该使用 intent.putextra 还是应该将变量设为全局变量,以便可以在任何活动中使用它。
【问题讨论】:
标签: android variables global-variables
你有几个选择:
【讨论】:
最好的方法是使用意图。
尽管如此,您有时需要更持久的变量,或者存储更复杂的对象。在这些情况下,您可以在单例类中使用静态变量。
【讨论】:
这绝对是你的决定,但我想用户可以转到 Activity 2 并按回,从而取消对这个变量的需要。
最好的选择是将值作为附加值发送到活动 2。然后,如果需要,它可以将其发送到活动 3。
提醒
不要使用 static variables 静态变量几乎总是错误
【讨论】:
您可以将会话 ID 传递给意图中的注销活动,以启动活动:
Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);
startActivity(intent)
注意:让会话 ID 可用于您希望允许用户退出的每个活动。否则,您可以将其存储在 Application 对象中,但是您必须管理会话的状态(在使用之前检查它是否有效,...)
【讨论】: