Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在使用ID的if比较时会出现错误语句_Java_Android - Fatal编程技术网

Java 为什么在使用ID的if比较时会出现错误语句

Java 为什么在使用ID的if比较时会出现错误语句,java,android,Java,Android,我制作了一个按钮,我想在XML中制作onClick方法 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:id="@+id/button2" android:onClick="maysara" android:layout_alignParentTop="true"

我制作了一个按钮,我想在XML中制作onClick方法

    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:id="@+id/button2"
    android:onClick="maysara"
    android:layout_alignParentTop="true"
    android:layout_alignLeft="@+id/button"
    android:layout_alignStart="@+id/button"
    android:layout_marginTop="63dp" />
但是我在if语句中出错了我真的不知道为什么

就这样用吧

public void maysara(View v){
 Toast.makeText(this,"button2",Toast.LENGTH_SHORT).show();
}

它可以帮助您。

检查作为视图的findViewById()的返回类型,您正在与作为id的v.getId()进行比较。您不应该对此进行比较

公共视图findViewById(内部id)


我知道这有一个答案,但我想我应该补充一个

你在申报

android:onClick="maysara"
作为此按钮的xml中的onClick方法。 无需检查哪个按钮正在单击,因为您已经在xml中明确定义了这一点

因此,在你的
mayasara
方法中,你只需要显示你想要做的事情,而不是点击按钮

public void maysara(View v){


<Button
    android:id="@+id/button1"
    android:onClick="maysara"


<Button
    android:id="@+id/button2"
    android:onClick="maysara"

为什么设置
if(v.getId()==findViewById(R.id.button2))
v.getId()==R.id.button2
基于主要观点的问题
findViewById(id)
返回
视图
v.getId()
返回一个ID,而不是视图。你不需要找到id的视图。你只需比较id,我感到非常高兴,因为我的问题现在有-3个评论它是-4:)::)哈哈
public void maysara(View v){


<Button
    android:id="@+id/button1"
    android:onClick="maysara"


<Button
    android:id="@+id/button2"
    android:onClick="maysara"
public void maysara(View v){
    switch(v.getId()) {
       case R.id.button1:
        // to do
       break;
       case R.id.button2:
        // to do
       break;