有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在两个活动之间传递int

我试图在两个活动之间传递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) 个答案

  1. # 1 楼答案

    试试看

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

    发布价值

        Bundle b = getIntent().getExtras();
        int counter = b.getInt("passingName");  to retrieve it
    
  2. # 2 楼答案

    如果“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());