我正在尝试在两个活动之间传递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
?
有人可以帮助我吗?
答案 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());