0

私は、ユーザーが 1 つのアクティビティを入力してから別のアクティビティを入力すると、単語の docx レポートが生成される Android アプリに取り組んでいます。

エクストラを使用して、最初のアクティビティから 2 番目のアクティビティに文字列を渡します。

私の問題は、すべての文字列が最後の文字列の値をエクストラに入れていることです。これが私のコードです:

活動 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);

活動 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 の値を取ります。理由がわかりません。

前もって感謝します。

4

1 に答える 1

1

このコードを試してください:

次のような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");

}
于 2015-09-09T09:50:02.303 に答える