【问题标题】:java.lang.IllegalStateException: Could not find a method after Parse implementationjava.lang.IllegalStateException:解析实现后找不到方法
【发布时间】:2023-03-22 21:43:02
【问题描述】:

我到处阅读 - 找不到解决方案。

我的项目运行良好,我在 XML 文件中的 onClick 中声明了我想要调用的方法,如下所示:

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:theme="@style/AppTheme"
android:id="@+id/actualMainActivity"
tools:context=".ActualMainActivity"
><Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Add new noob"
    android:id="@+id/addNewNoob"
    android:layout_marginLeft="33dp"
    android:layout_marginStart="33dp"
    android:onClick="addNewNoob"
    android:layout_alignTop="@+id/listOfNoobs"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" /></RelativeLayout>

我的 java 类 (ActualMainActivity) 中的方法是这样的:

  public void addNewNoob(View view) {
    Log.i("Tag", "you clicked the add button");
}    

只有在我实现了 Parse SDK 以使用之后,我的 Gradle 才重新同步,现在当我运行应用程序时,我得到“方法未找到异常”。 我想指出,当我将 onClickListener 直接分配给这样的按钮时: 最终按钮 a = (Button) findViewById(R.id.addNewNoob); a.setOnClickListener(new View.OnClickListener(){ 公共无效 onClick(查看 v){ Log.i("Tag", "你点击了添加按钮"); } });

效果很好……

安装 SDK 后我有什么变化? 我怎样才能回到我在 XML 上编写方法并相应地执行它们的方式。

真的很困惑...在此先感谢

这是日志:

02-09 11:29:34.917    2669-2669/com.example.shaked.sqliteexample02 E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.shaked.sqliteexample02, PID: 2669
java.lang.IllegalStateException: Could not find a method listOfNoobs(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'listOfNoobs'
        at android.view.View$1.onClick(View.java:3994)
        at android.view.View.performClick(View.java:4756)
        at android.view.View$PerformClick.run(View.java:19749)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5221)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
 Caused by: java.lang.NoSuchMethodException: listOfNoobs [class android.view.View]
        at java.lang.Class.getMethod(Class.java:664)
        at java.lang.Class.getMethod(Class.java:643)
        at android.view.View$1.onClick(View.java:3987)

         
提前致谢

【问题讨论】:

  • 你清理过项目吗?
  • 这个 listOfNoobs 方法是什么?您是否创建并删除了该方法?
  • listOfNoobs 只是我为了调试而从 XML 中删除的代码中的另一种方法......在一个全新的活动中,我可以使用“XML 方式”的方法
  • 我认为这只是一个缓存问题。清理项目并运行!
  • 清理项目时需要注意什么?

标签: java android android-studio


【解决方案1】:

创建一个新项目将旧的类移动到新的类并检查!

【讨论】:

  • 这就是我所做的,现在它正在工作......我不知道为什么 - 但它正在工作......谢谢你:)
  • 无需抱歉!乐于助人:)
【解决方案2】:

给出方法异常错误 所以请注意不要缺少名为 listofnoobs() 的方法。 也清理你的项目,然后重建它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2021-09-15
    • 2015-03-23
    • 2018-10-06
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多