Java 在两个活动之间传递int
我试图在两个活动之间传递Java 在两个活动之间传递int,java,android,variables,integer,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(nextIntentTes
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)。我对其他类和变量做了几乎相同的事情,一切都很好。可能问题出在公共类NextFile extensed ListActivity
而不是公共类NextFile extensed avivity
有人能帮我吗?试试看
Bundle c = new Bundle();
c.putInt("passingName",nameofvar);
yourintent.putExtras(c);
张贴价值
及
如果“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());
你确定nameofvar不是-1吗?是的,我正在检查当前文件中这个变量的值,它不等于-1。在作为额外值传递之前记录你的var以查看它的值。这是一个愚蠢的问题,但总是很好地问:nameofvar是一个int?在你的第二个活动中,你从哪里得到int?(好答案在onCreate或更高版本中,坏答案在构造函数中)方法putInt()不存在。我认为传递值的唯一方法是使用putExtra();在Intent.java中,我们有
public Intent putExtra(字符串名称,int值){if(mExtras==null){mExtras=new Bundle();}mExtras.putin(名称,值);返回这个;}
这个答案没有意义,问题出在其他地方实际上他只是解决了问题并将答案标记为正确。NEWnameofvar
应该是NEWnameofvar
。
Log.d("test", "extras = " + this.getIntent().getExtras());