Java 按钮单击侦听器

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内部定义一

我有一个带“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内部定义一个新的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);

     }
 });