• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

必须单击按钮两次才能在Android Studio中工作

java 来源:Samuel Georgeszusz 5次浏览

因此,我正在创建一个应用程序,并且一直困扰着我的一件小事情是,我必须单击按钮两次才能使其工作。必须单击按钮两次才能在Android Studio中工作

这是我的代码,我看不出它什么毛病:

public void signUpButtonClickAction(View v){ 
    Button signUpButtonClick = (Button) findViewById(R.id.signUpButton); 
    signUpButtonClick.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(MainActivity.this, Signup.class)); 
     } 
    }); 
} 

XML代码为我的按钮:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/signUps" 
    android:id="@+id/signUpButton" 
    android:layout_marginBottom="38dp" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:onClick="signUpButtonClickAction"/> 

这可能是一个小的修复,但即使我能” t发现此错误

编辑:对不起,但为什么我的问题是“倒票”?这是一个真正的问题,很容易被混淆或难以理解的人谁是新的Android开发…

===========解决方案如下:

解决方案

删除线android:onClick="signUpButtonClickAction"并添加

Button signUpButtonClick = (Button) findViewById(R.id.signUpButton); 
signUpButtonClick.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     startActivity(new Intent(MainActivity.this, Signup.class)); 
    } 
}); 

到您的活动的onCreate方法或您的片段的onCreateView方法。

替代解决方案

可替换地,代码改变此

public void signUpButtonClickAction(View v) { 
    startActivity(new Intent(MainActivity.this, Signup.class)); 
} 

说明

在XML中线android:onClick="signUpButtonClickAction"是造成signUpButtonClick.setOnClickListener内部()调用,所以你不必再次在signUpButtonClickAction中设置onClickListener。

初始化多个按钮

private void initializeButtons() { 
    Button signUpButtonClick = (Button) findViewById(R.id.signUpButton); 
    signUpButtonClick.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(MainActivity.this, Signup.class)); 
     } 
    }); 

    Button anotherButton = (Button) findViewById(R.id.anotherButton); 
    anotherButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Log.d("TAG", "Clicked on another button!"); 
     } 
    }); 
} 

现在只需拨打initializeButtons()从活动的onCreate方法。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)