2

我试图int在两个活动之间传递价值。在第一个活动中,我编码:

Class nextView = Class.forName("com.test.NextFile");                    
Intent nextIntentTest = new Intent(CurrentFile.this, NextFile.class);
nextIntentTest.putExtra("passingName",nameofvar);
startActivity(nextIntentTest);

而且,在第二个活动中,

Intent intentTest = this.getIntent();
int counter = intentTest.getIntExtra("passingName",-1);

我不知道为什么,但我总是得到默认 (-1) 值。我对其他类和变量做了几乎同样的事情,一切都很好。也许问题出在public class NextFile extends ListActivity而不是public class NextFile extends Avtivity

有人能帮我吗 ?

4

2 回答 2

2

尝试

    Bundle c = new Bundle();

    c.putInt("passingName",nameofvar);
     yourintent.putExtras(c);

发布价值

    Bundle b = getIntent().getExtras();
    int counter = b.getInt("passingName");  to retrieve it
于 2013-05-17T13:05:06.977 回答
0

如果“nameofvar”不是 int,就会发生这种情况,试试这个:

Intent nextIntentTest = new Intent(CurrentFile.this, NextFile.class);
int newNameOfVar = 2;
nextIntentTest.putExtra("passingName",newNameOfVar);
startActivity(nextIntentTest);

在您的第二项活动中:

Intent intentTest = this.getIntent();
int counter = intentTest.getIntExtra("passingName",-1);

您还可以打印所有额外内容以查看到达的值:

Log.d("test", "extras = " + this.getIntent().getExtras());
于 2013-05-17T13:26:16.620 回答