【发布时间】:2024-01-13 02:45:01
【问题描述】:
所以我有这个类,我按下一个按钮,然后我得到了我想要传递给 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;
}
在 B 类中
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。我在这里做错了什么?
【问题讨论】:
-
我不明白你的逻辑。您将一个整数传递给您的 Access 方法,它只是返回相同的 int 给您。您期望以哪种方式“修改”值?
-
未来编程的一个小技巧。尝试用英语编码,还有字符串和消息。所以人们知道你的意思,如果他们需要的话。一旦给变量一个荷兰语名称,我就犯了错误,必须在发布到 SO 之前将它们转换为英文(更多的工作是徒劳的)。
-
因为 Access 什么都不做,所以千万不要这样尝试。每个intent都可以携带一些信息,所以你可以在intent中放入一个以class B开头的int,比如myIntent.putExtra(key,value);
标签: java android class int parameter-passing