4 回答
TA贡献1827条经验 获得超9个赞
最简单的方法是将会话ID传递给Intent您用于启动活动的注销活动:
Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);
startActivity(intent);
访问意图下一个活动
String sessionId= getIntent().getStringExtra("EXTRA_SESSION_ID");
Intent 的文档有更多信息(请参阅标题为“Extras”的部分)。
TA贡献1871条经验 获得超8个赞
在当前的Activity中,创建一个新的Intent:
String value="Hello world";
Intent i = new Intent(CurrentActivity.this, NewActivity.class);
i.putExtra("key",value);
startActivity(i);
然后在新的Activity中,检索这些值:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("key");
//The key argument here must match that used in the other activity
}
使用此技术将变量从一个Activity传递到另一个Activity。
TA贡献2037条经验 获得超6个赞
Erich指出,传递Intent附加功能是一种很好的方法。
该应用程序对象虽然是另一种方式,并跨多个活动相同的状态打交道时(而不是让获得/把它无处不在),有时更容易,或者比的对象原语和字符串更加复杂。
您可以扩展Application,然后设置/获取您想要的任何内容,并使用getApplication()从任何Activity(在同一个应用程序中)访问它。
另请注意,您可能会看到的其他方法(如静态)可能会出现问题,因为它们可能会导致内存泄漏。应用程序也有助于解决此问
TA贡献1824条经验 获得超5个赞
来源类:
Intent myIntent = new Intent(this, NewActivity.class);
myIntent.putExtra("firstName", "Your First Name Here");
myIntent.putExtra("lastName", "Your Last Name Here");
startActivity(myIntent)
目标类(NewActivity类):
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view);
Intent intent = getIntent();
String fName = intent.getStringExtra("firstName");
String lName = intent.getStringExtra("lastName");
}
添加回答
举报