android - AppCompatButton 安卓 :onClick Could not find a method exception

标签 android android-4.4-kitkat

我只在 KitKat 版本上有这个问题,其余的从 16 API 级别到 25 都可以正常工作

实例化布局的类有布局的方法,例子

<android.support.v7.widget.AppCompatButton
  android:onClick="onClick"
...
public void onClick(View v) {
  // do something
}

我知道我可以将其更改为监听器、数据绑定(bind)或使用 Butterknife 等库,但我想知道为什么在 4.X 版本上会崩溃?

xml布局

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

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:onClick="onClick" />

    <android.support.v7.widget.AppCompatButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:onClick="onClick" />
</LinearLayout>

最佳答案

我已经找到了这个问题的一些解释。它被归档为一个错误。这是错误报告的链接。 https://issuetracker.google.com/issues/37108938

在要点上,他们说该问题已在 API 24 中修复,并且 onClick 与支持库不兼容。我已经在关于 kitkat 问题的线程中添加了评论。

关于android - AppCompatButton 安卓 :onClick Could not find a method exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44028831/

相关文章:

java - 在java android中创建无限字符串

java - onPostExecute 之后 ListView 未填充

java - 4.4.4 上的 android.view.InflateException 而 5.0 则没问题

java - 更新到 Android 4.4 KitKat 后无法找到 Movies 文件夹

java - Android 4.4 ConsumerIr.transmit 变得疯狂

java - 如何在 android 4.4 及更高版本中以编程方式检查我是否打开了 gps?

android - Android AAR 文件是否仅在构建过程中使用?

java - 从没有其他数据(如 html 或 xml 或 json)的 url 获取响应代码

java - 使用 Smack 库在 XMPP 中发送消息不起作用

android - 未找到处理 Intent 的 Activity - android.intent.action.OPEN_DOCUMENT