簡體   English   中英

Android:如何使用Intent發送多個變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM