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");
}
添加回答
舉報