2

あるアクティビティから別のアクティビティに渡す複数の変数があります。

私は最初の活動でこれを持っています:

public void onClick(View v) {
    switch(v.getId()){
    case R.id.bStartGame:
    Intent i = new Intent(StartScreen.this, GameScreen.class);
    Bundle extras = new Bundle();
    extras.putString("Name 0", sName0);
    extras.putString("Name 1", sName1);
    extras.putString("Name 2", sName2);
            .
            .
            .
    i.putExtras(extras);
    StartScreen.this.startActivity(i);
    finish();
    break;

2番目のアクティビティでは、これがあります:

 Intent i = getIntent();
 Bundle extras = i.getExtras();
 String name0 = extras.getString("Name 0");

 TextView test = (TextView) findViewById(R.id.tvTEST);
 test.setText(name0);

ただし、これを行うと、テキストビューには何も表示されません。どうすればこれを修正できますか?

編集:私が持っている最初の活動では:

 name0 = (EditText) findViewById(R.id.etName0);
 sName0 = name0.getText().toString();

関連する参照を含む他のすべての名前についても同じです。

また、明確にするために、name0 は編集テキスト、sName0 は文字列、「Name 0」はキーです。

4

2 に答える 2

4

あなたが示したコードには何も問題はありません。

String name0 = extras.getString("Name 1");

name0ここに正しい値があります: "". エクストラが適切に送信されていない場合は、 になりnullNullPointerExceptionon が表示され.setText()ます。

extras.putString("Name 1", sName0);
extras.putString("Name 1", sName1);

ここでは、おそらく空白である"Name 1"の値で上書きしています。代わりsName1に送信したいと思います。sName0

于 2013-01-07T19:28:29.073 に答える
0

あなたが示したコードでは、sNameXX が宣言または初期化されていません。それらを他のアクティビティに正しく送信します。

于 2013-01-07T19:53:36.020 に答える