java.lang.IllegalStateException:在android:onClick属性的父或祖先上下文中找不到方法
我正在尝试将onClick方法添加到我的按钮前面。但是,当我单击按钮时,返回以下错误:java.lang.IllegalStateException:在android:onClick属性的父或祖先上下文中找不到方法,java,android,Java,Android,我正在尝试将onClick方法添加到我的按钮前面。但是,当我单击按钮时,返回以下错误: java.lang.IllegalStateException: Could not find method front(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'fron
java.lang.IllegalStateException: Could not find method front(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'front'
以下是我的xml:
<Button
android:id="@+id/front"
android:onClick="front"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text" />
你知道问题出在哪里吗?你在活动中的前台方法应该是公开的。你现在已经保密了
这在网站上也有描述
为了使其工作,该方法必须是公共的,并接受视图作为其唯一参数
你的活动中的前台方法应该是公开的。你现在已经保密了
这在网站上也有描述
为了使其工作,该方法必须是公共的,并接受视图作为其唯一参数
这是通过活动为按钮提供单击操作的方式
front.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(this, "String", Toast.LENGTH_LONG).show();
}
});
要通过xml onClick提供按钮操作
这是通过活动为按钮提供单击操作的方式
front.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(this, "String", Toast.LENGTH_LONG).show();
}
});
要通过xml onClick提供按钮操作
确保在单击时正确写入属性值的语法。就我而言,我忘记了角色}
GL请确保在单击时正确写入属性值的语法。就我而言,我忘记了角色}
GL该方法也是正确的。您可以在xml中定义click-in-toothat方法,该方法也是正确的。您可以在xml中定义click,我建议您直接在代码中设置onClickListener是最好的方法,它永远不会失败,并且您不需要在主代码中声明这么多函数。我建议您直接在代码中设置onClickListener是最好的方法,它永远不会失败,您不需要在主代码中声明这么多函数。而且,不要立即运行Apply changes,它不会生效。除非您运行'app'Shift+F10且不立即运行应用更改,否则不会生效。除非您运行“应用程序”Shift+F10
front.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(this, "String", Toast.LENGTH_LONG).show();
}
});
public void front(View v) {
Toast.makeText(this, "String", Toast.LENGTH_LONG).show();
}
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:onClick="@{() -> viewModel.onItemClick(position)}">