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;

在第二个活动中,我有这个:

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

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

但是,当我这样做时,textview 什么也没显示。我怎样才能解决这个问题?

编辑:在第一个活动中,我有:

 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这里有正确的值:"". 如果它没有正确发送额外内容,它会是null,并且会给你一个NullPointerExceptionon .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 回答