Android studio 方法的签名不正确
尽管在Java文件MainActivity中声明了方法onButtonHomeClick,但当我尝试在XML中引用该方法时,我收到错误消息:“MainActivity中的方法onButtonHomeClick具有错误签名”。这两个都在下面,我一直无法弄清楚它为什么会返回这样一个错误,特别是因为试图通过在XML文件中按住Ctrl键单击ButtonHomeClick来导航到声明会导航到Java类中的方法。Android studio 方法的签名不正确,android-studio,Android Studio,尽管在Java文件MainActivity中声明了方法onButtonHomeClick,但当我尝试在XML中引用该方法时,我收到错误消息:“MainActivity中的方法onButtonHomeClick具有错误签名”。这两个都在下面,我一直无法弄清楚它为什么会返回这样一个错误,特别是因为试图通过在XML文件中按住Ctrl键单击ButtonHomeClick来导航到声明会导航到Java类中的方法。 而且它肯定很难找到方法,因为Android监视器在尝试将行为分配给按钮时会返回一个致命错误 &
而且它肯定很难找到方法,因为Android监视器在尝试将行为分配给按钮时会返回一个致命错误
<!-- XML file -->
<item
android:id="@+id/button_home"
android:orderInCategory="100"
android:icon="@drawable/home"
android:title="Home"
android:onClick="onButtonHomeClick"
app:showAsAction="always"
/>
//Java method
public void onButtonHomeClick(View v){
Intent intent = new Intent(this, MainActivity.class);
}
//Java方法
公用无效按钮HomeClick(视图v){
意向意向=新意向(此,MainActivity.class);
}
您是否记得在MainActivity.java文件中包含视图类的导入?(默认情况下不导入。)
您需要添加
startActivity(intent)在您的方法中,应该是这样的:
public void onButtonHomeClick(View v){
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
我用startActivity(intent)尝试了你的代码代码>包含在内,并且工作正常清理您的项目,然后确保onButtonHomeClick()方法声明为public void
您的OnClick方法对MenuItem
具有无效参数。对于MenuItem
,它是
public void onClickMethod(MenuItem menuItem) {
// Your code here
}
而public void onClickMethod(View-View){…}
用于活动布局中的View
另外,仅创建意图
不会启动活动
。要开始活动,您应该将您的意图传递给startActivity()
在科特林:
<android.support.v7.widget.AppCompatButton
android:id="@+id/mRecharge_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:textSize="18sp" />
您还必须为所有视图定义android:onClick
方法。请记住,单击方法名称在所有视图中都是相同的
public void onclick视图(视图){
开关(view.getId()){
案例R.id.radioButton_得分:
Toast.makeText(这是“单击分数”,
吐司。长度(短)。show();
打破
案例R.id.无线电按钮折扣百分比:
Toast.makeText(这是“单击折扣百分比”,
吐司。长度(短)。show();
打破
}
}
<android.support.v7.widget.AppCompatButton
android:id="@+id/mRecharge_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:textSize="18sp" />
public fun onClick(view: View?) {
// do ur logic here
}