如何将参数传递给按钮的onClick函数?(Android)

时间:2018-10-27 17:36:40

标签: android onclick arguments parameter-passing

  

说明:

我有一个名为sum(View v)的onClick函数。如何将参数传递给提到的函数?我尝试了sum(View v,int a,int b),但是一旦执行此操作,Compiler就会将错误抛出为"Corresponding method handler 'public void sum(android.view.View)' not found"。首先,请告诉我,是否可以通过与我相同的方式将参数传递给on click函数,或者可以通过其他方式完成此操作。

  

所需的Java代码:

     public void sum(view v,int a,int b){
        int c;
        c =a+b;
}

在论坛上找到了一些相关问题,但对答案不满意。请我提供更多(如果需要)。谢谢。

2 个答案:

答案 0 :(得分:0)

  

如何将参数传递给提到的函数?

通常,您不会。您可以在布局中使用数据绑定lambda表达式,但这是一个相对高级的主题。

相反,您可以:

  • sum(View v)方法重命名为onSumClicked(View v),并在使用该方法进行匹配的任何位置进行调整
  • onSumClicked(View v)用您想要的值调用您的sum(view v,int a,int b)

答案 1 :(得分:0)

如果您已经在xml中对按钮的lookFor属性(例如,它是一个按钮)进行了硬编码,例如:

onClick

然后sum方法必须具有以下签名:

android:onClick="sum"

public void sum(View v) sum()不允许使用其他参数(即使应用程序将编译,但单击按钮时应用程序将崩溃)。
如果要在View v中使用这2个整数变量,则必须在类级别上声明它们。
编辑,因此在您的活动类中声明2个变量

sum()

您可以在此类中的任何位置设置它们的值,然后单击int a = 0; int b = 0; 内的按钮,即可访问它们。