当前位置: 首页 > 面试题库 >

如何解决错误:在android:onClick的父级或祖先上下文中找不到方法onClick(View)

胡星汉
2023-03-14
问题内容

我已经看到有一些类似的问题,但是到目前为止,这些问题的答案并没有帮助我。完整错误:

java.lang.IllegalStateException:在视图类android.support.v7.widget.AppCompatButton上定义的ID为“
button_random”的android:onClick属性中,在父级或祖先上下文中找不到onClick(View)方法

类( StartActivity.java ):

public class StartActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);
    }

    public void onClick(View v) {
        Log.d("DEBUG", "CLICKED " + v.getId());
    }

}

XML( activity_start.xml ):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Random Game"
        android:id="@+id/button_random"
        android:layout_gravity="center_horizontal"
        android:onClick="onClick" />
</LinearLayout>

我已将活动添加到AndroidManifest.xml。我有类似的活动以相同的方式进行,但我没有任何问题…

有人看到我遗漏了一些东西或犯了一个错误吗?


问题答案:

我遇到了同样的问题,在我的情况下,我将ButtonXML
更改为,android.support.v7.widget.AppCompatButton并且它起作用。

错误代码:

 <Button
        .... />

固定代码:

 <android.support.v7.widget.AppCompatButton
        .... />


 类似资料:
  • 问题内容: 我处理这个问题已有一段时间了,研究了我可以找到的所有相关问题,例如:这个,这个和这个。您能帮我解决这个错误吗?这是logcat抛出的唯一一个。 相关代码: radio.java activity_radio.xml 问题答案: 定义在您需要定义它特定视图方式在这里你不能在该方法两个参数。 您的错误还表示 无法找到方法playPauseMusic(View) 意味着编译器需要 带有单个参

  • 我已经处理这个问题有一段时间了,并查看了我能找到的所有相关问题,例如:这个问题,这个问题和这个问题。你能帮我纠正这个错误吗?这是唯一一个被圆木扔出去的。 相关代码: radio.java 无线电活动。xml

  • 问题内容: 我正在玩纸牌游戏,目前拥有良好的基础,但是在eclipse中运行它时遇到了错误。我也使用光滑的2d。 这是来自控制台的错误。 线程“主”中的异常java.lang.RuntimeException:在当前线程中找不到OpenGL上下文。在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)在org.lwjgl.op

  • 问题内容: 我似乎无法从我的新手开始,我在这里搜索了答案,但似乎无法解决问题。我希望有人有一个简单的解决方案。提前致谢。 这是错误: MainActivity.java AndroidManifest.xml activity_main.xml StartSearch.java 问题答案: 问题出在您的方法签名中 它应该只有一个参数,也就是一个。 更改为 显然可以是你希望它是什么,但你应该让一些有

  • 正在执行热重启。..正在将文件同步到设备sdk gphone x86 arm...在1,910毫秒内重新启动应用程序。 widgets library捕获异常widgets library捕获异常widgets library捕获异常widgets library捕获异常widgets library捕获异常widgets library捕获异常widgets library捕获异常widgets

  • 我从Stackoverflow的某人那里得知,这个错误是在8.4.0 Final之后的某个地方引入的,所以我想知道我如何成功地将我的版本降级到那个版本。 我目前正在使用: Optaplanner 8.8.0 Final Quarkus2.0.2决赛 打开JDK 11 Windows 10 有人知道如何降级(或为最新最终版本的问题创建解决方案)吗?