在Java中的类之间传递整数

时间:2013-05-21 14:17:32

标签: java android class int parameter-passing

所以我有这个类,我按下一个按钮,然后我得到了我要传递给ClassB的int maxpluseen

   private void populateBtn() {
        foto1 = (Button) this.findViewById(R.id.button2);
        foto1.setOnClickListener(new View.OnClickListener() {
            @SuppressLint("SimpleDateFormat")
            @Override
            public void onClick(View v) {
 int maxpluseen = maxIndex + 1;
                Log.d("LOG!", "Uiteindelijk resultaat " + maxpluseen);

                Intent myIntent = new Intent(classA.this, classB.class);
                classA.this.startActivity(myIntent);     

            }


        });
    }

我尝试了以下操作:

public static int Access(int maxpluseen){
  return maxpluseen; 
}

在classB

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.info);

     int maxpluseen = 0;
    int test = classA.Access(maxpluseen);
    Log.d("LOG!", "Test int tussen klassen= " + test);

}

但是它返回0(所以我的int没有从classA传递到classB。我在这里做错了什么?

4 个答案:

答案 0 :(得分:0)

这里传递的ClassA.Access()值为0,因此返回值为0.

 int maxpluseen = 0;
 int test = classA.Access(maxpluseen);

答案 1 :(得分:0)

在A班:

Intent myIntent = new Intent(classA.this, classB.class);
myIntent.putExtra("number", maxpluseen)
            classA.this.startActivity(myIntent); 
B组中的

int getal;
getal = getIntent().getExtras().getInt("number");

......

答案 2 :(得分:0)

首先,您应该提到您的类不是普通类,而是活动。 其次,你应该使用全英文变量名(maxplusone)。

您可以向Intent添加数据,用于启动新的Activity,您可以阅读更多有关

的内容。

Here in a different questionhere in the Intent developer description

答案 3 :(得分:0)

classA是你的主角吗?

如果是,请创建一个classB对象。编写一个函数来设置int值,以便您可以执行classBObject.setInt(value)之类的操作。然后,在foto1的{​​{1}}方法中,调用该函数。