我有多个变量要从一个活动传递到另一个活动。
我在第一个活动中有这个:

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是edittext,sname0是字符串,“name0”是键。

最佳答案

你所显示的代码没有问题。

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

name0这里有正确的值:""。如果它没有正确地发送附加文件,那么它将是null,并且会在NullPointerException上给您一个.setText()
extras.putString("Name 1", sName0);
extras.putString("Name 1", sName1);

这里,您用值"Name 1"覆盖sName1,该值可能为空。我假设你想改为发送sName0

关于java - Putextras不工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14202582/

10-08 20:47