所有 extras 字符串都取最后一个放入包中的值

All extras Strings take the value of the last one put into the bundle

我正在开发一个 android 应用程序,用户可以在其中填写一个 activity,然后再填写一个并生成一个 word docx 报告。

我正在使用附加功能将字符串从第一个 activity 传递到第二个。

我的问题是我的所有字符串都具有最后一个放入附加值的字符串的值。这是我的代码:

Activity 1 :

Intent pelle = new Intent(VGP1.this, Pelle.class);
Bundle extras = new Bundle();
extras.putString(eEntreprise, sEntrepriseComplete);
extras.putString(eAdresse, sAdresseComplete);
extras.putString(eIdVerificateur, editTextIdVerificateur.getText().toString());
extras.putString(eNomProprio, editTextNomProprio.getText().toString());
extras.putString(eAdresseProprio, editTextAdresseProprio.getText().toString());
extras.putString(eNomEntreprise, editTextNomEntreprise.getText().toString());
extras.putString(eAdresseEntreprise, editTextAdresseEntreprise.getText().toString());
extras.putString(eJourVerif, sJourVerif);
extras.putString(eMoisVerif, sMoisVerif);
extras.putString(eAnneeVerif, sAnneeVerif);
pelle.putExtras(extras);
startActivity(pelle);

Activity 2 :

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pelle);

    Intent intent = getIntent();
    Bundle extras = intent.getExtras();
    if (extras != null) {
        eEntreprise2 = extras.getString(VGP1.eEntreprise);
        eAdresse2 = extras.getString(VGP1.eAdresse);
        eIdVerificateur2 = extras.getString(VGP1.eIdVerificateur);
        eNomProprio2 = extras.getString(VGP1.eNomProprio);
        eAdresseProprio2 = extras.getString(VGP1.eAdresseProprio);
        eNomEntreprise2 = extras.getString(VGP1.eNomEntreprise);
        eAdresseEntreprise2 = extras.getString(VGP1.eAdresseEntreprise);
        eJourVerif2 = extras.getString(VGP1.eJourVerif);
        eMoisVerif2 = extras.getString(VGP1.eMoisVerif);
        eAnneeVerif2 = extras.getString(VGP1.eAnneeVerif);
    }

所有的值"xxxxx2"都取eAnneeVerif的值,我不明白为什么。

提前谢谢你。

试试这个代码:

在您的 Activity 1 中发送这样的数据:

Intent pelle = new Intent(VGP1.this, Pelle.class);
pelle.putExtra("eEntreprise", sEntrepriseComplete);
pelle.putExtra("eAdresse", sAdresseComplete);
pelle.putExtra("eIdVerificateur", editTextIdVerificateur.getText().toString());
pelle.putExtra("eNomProprio", editTextNomProprio.getText().toString());
pelle.putExtra("eAdresseProprio", editTextAdresseProprio.getText().toString());
pelle.putExtra("eNomEntreprise", editTextNomEntreprise.getText().toString());
pelle.putExtra("eAdresseEntreprise", editTextAdresseEntreprise.getText().toString());
pelle.putExtra("eJourVerif", sJourVerif);
pelle.putExtra("eMoisVerif", sMoisVerif);
pelle.putExtra("eAnneeVerif", sAnneeVerif);
startActivity(pelle);

在您的 Activity 2 中获取这样的数据:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pelle);

    Intent intent = getIntent();
    eEntreprise2 = intent.getStringExtra("eEntreprise");
    eAdresse2 = intent.getStringExtra("eAdresse");
    eIdVerificateur2 = intent.getStringExtra("eIdVerificateur");
    eNomProprio2 = intent.getStringExtra("eNomProprio");
    eAdresseProprio2 = intent.getStringExtra("eAdresseProprio");
    eNomEntreprise2 = intent.getStringExtra("eNomEntreprise");
    eAdresseEntreprise2 = intent.getStringExtra("eAdresseEntreprise");
    eJourVerif2 = intent.getStringExtra("eJourVerif");
    eMoisVerif2 = intent.getStringExtra("eMoisVerif");
    eAnneeVerif2 = intent.getStringExtra("eAnneeVerif");

}