在两个活动之间传递int

时间:2013-05-17 13:01:11

标签: java android variables integer

我正在尝试在两个活动之间传递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

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

尝试

    Bundle c = new Bundle();

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

发布值

    Bundle b = getIntent().getExtras();
    int counter = b.getInt("passingName");  to retrieve it

答案 1 :(得分: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());