[英]Android:How to send more than 1 variable with Intent?
我正在從main.java
發送一些變量:
Bundle bund = new Bundle();
Intent intent = new Intent(this, newWindow.class);
String name = editName.getText().toString();
bund.putString(yourName, name);
String pass= editPassword.getText().toString();
bund.putString(yourPass,pass);
String mail=EditMail.getText().toString();
bund.putString(yourMail,mail);
intent.putExtras(bund);
startActivity(intent);
到newWindow.java
:
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String name = extras.getString(main.yourName);
String mail = extras.getString(main.yourMail);
String pass = extras.getString(main.yourPass);
viewText1 = (TextView) findViewById(R.id.textView2);
viewText2 = (TextView) findViewById(R.id.textView3);
viewText3 = (TextView) findViewById(R.id.textView4);
viewText1.setText(name);
viewText2.setText(mail);
viewText3.setText(pass);
問題是,只有最后一個變量被傳遞並顯示在所有3個textview的
大概在所有情況下都使用相同的密鑰。 換句話說, yourName
的值與yourPass
的值相同,后者與yourMail
的值相同。 這些需要具有唯一的值。 通常,我們對Bundle
使用static final String
鍵。
為什么不避開Bundle部分呢?
只需在FirstActivity中嘗試一下
Intent intent = new Intent(this, NewWindow.class);
String name = editName.getText().toString();
String pass= editPassword.getText().toString();
String mail=EditMail.getText().toString();
intent.putExtra("name",name);
intent.putExtra("mail",mail);
intent.putExtra("pass",pass);
startActivity(intent);
然后在RecievingActivity中執行此操作
Intent extras=getIntent();
String name = extras.getStringExtra("name");
String mail = extras.getStringExtra("mail");
String pass = extras.getStringExtra("pass");
viewText1.setText(name);
viewText2.setText(mail);
viewText3.setText(pass);
讓我知道是否有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.