Java 按钮单击侦听器
我有一个带“btnadd”id的按钮 和一个有两个输入的函数Java 按钮单击侦听器,java,android,function,button,onclick,Java,Android,Function,Button,Onclick,我有一个带“btnadd”id的按钮 和一个有两个输入的函数 public void CheckNumber (int i , int j) { if (i != j) Toast.makeText(getBaseContext,"i is not equal to j"); } 我想为这个按钮的点击事件设置这个函数 add.setOnClickListener(CheckNumber(2,4)); 此代码不正确,但我如何才能做到这一点?您需要在setOnClickListener内部定义一
public void CheckNumber (int i , int j) { if (i != j) Toast.makeText(getBaseContext,"i is not equal to j"); }
我想为这个按钮的点击事件设置这个函数
add.setOnClickListener(CheckNumber(2,4));
此代码不正确,但我如何才能做到这一点?您需要在setOnClickListener内部定义一个新的View.OnClickListener。 试试这个:
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
checkNumber(2, 4);
}
});
完整解决方案: 试着这样做: 首先,创建一个方法:(考虑您的案例) 其次,在
onCreate()中声明按钮:
最后,添加一个单击侦听器:
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
CheckNumber(2, 4);
}
});
就这样。希望能有所帮助。这里有一些事情很奇怪。您总是想将2
和4
作为CheckNumber()
函数的输入传递?如果是,那么为什么不在CheckNumber()
函数中硬编码它们,而不是将它们作为参数传递呢。
public void CheckNumber (int i , int j) {
if (i != j)
Toast.makeText(this, "i is not equal to j", Toast.LENGTH_SHORT);
}
Button add = findViewById(R.id.btnadd);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
CheckNumber(2, 4);
}
});