xml onClicks不再适用于Android Lollipop中的活动

耶默夫

我工作的公司有一个应用程序,该应用程序已经开发了一段时间,并且可以在Android 4.4上完美运行。在我们的Nexus 5之一获得棒棒糖更新后,突然所有的onClicks都不再起作用。我尝试在其他设备和虚拟机上运行我们的应用程序,并且发生相同的问题。由于专有代码的原因,我只能展示很多,但这不应该成为问题。

具有onClick的第一个Activity是LoginActivity,它扩展了Activity,并且不接触片段或对话框(所有其他具有类似问题的结果被称为问题)。下面的示例来自一个按钮,该按钮应该允许您选择服务器:

public class LoginActivity extends Activity{
...
    public void btnLoginServer_clicked(View v){
        Intent serversIntent = new Intent(LoginActivity.this,ServersActivity.class);
        startActivity(serversIntent);
    }
...
}

堆栈跟踪显示:

E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.company.app, PID: 2241
    java.lang.IllegalStateException: Could not find a method btnLoginServer_clicked(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'btnLoginServer'
            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: btnLoginServer_clicked [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)
            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)

好的,这里是按钮的xml。

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btnLoginServerNoServer"
        android:id="@+id/btnLoginServer"
        android:singleLine="true"
        android:textColor="#de1bd500"
        android:onClick="btnLoginServer_clicked"
        android:background="@drawable/app_button_server_background" />

为了进一步澄清,该应用程序安装在装有android 4.4的两个设备上,它们已升级到5.0,并且开始出现此问题。该应用程序已删除并重新安装,同样的问题。该应用程序已重新安装在其他三个装有5.0的设备上,但以前从未安装过该应用程序,这是同样的问题。几个不同的虚拟机也是一样。

请帮我。我没有太多可拉的头发了,我担心我可能会在墙上扔一些昂贵的东西。

耶默夫

我不确定我完全理解为什么这是解决方案,也许有人可以解释。

有一个为应用程序定制的主题,该主题已应用到清单中的应用程序。它还以android:theme =“ customTheme”的形式应用于每个活动布局xml文件。从布局中删除这些可解决此问题。

希望这可以帮助其他人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

电子邮件意图不再适用于Android Lollipop

来自分类Dev

电子邮件意图不再适用于Android Lollipop

来自分类Dev

适用于Android的xml中的梯形阴影

来自分类Dev

使用适用于Android的Eclipse IDE在Android代码中搜索对布局xml文件的引用

来自分类Dev

Android主题不适用于活动

来自分类Dev

仅在Android Lollipop 5.0中无法获取前台活动名称

来自分类Dev

Android Studio项目适用于Lollipop,但不适用于Kitkat

来自分类Dev

适用于Android的自定义XML元素

来自分类Dev

适用于Pre-Lollipop设备的Android TextView中的Triangular Bullet

来自分类Dev

将适用于Android Lollipop 5.0的Phonegap中的URL列入白名单

来自分类Dev

适用于Android的AsyncTask中的doInBackground

来自分类Dev

Android Lollipop活动屏幕损坏

来自分类Dev

使用CSOM以编程方式在SharePoint中创建字段(不适用于XML)

来自分类Dev

为什么样式不适用于princexml中的xml

来自分类Dev

为什么排序规则不适用于子查询中的xml路径?

来自分类Dev

XSLT样式表不适用于Firefox中的XML。如何解决?

来自分类Dev

适用于所有活动的Android关键事件通用

来自分类Dev

android中的listview:一项适用于所有listview项目的活动

来自分类Dev

实时重装似乎不再适用于.net core 3.1中的Angular

来自分类Dev

在 KDE 上的 Vim 中,Ctrl-w 不再适用于更改窗格

来自分类Dev

XSLT不适用于xml

来自分类Dev

XPath不适用于XML选择

来自分类Dev

如何检查Android Lollipop中的活动是否已锁定(应用固定)

来自分类Dev

在Android终端中运行适用于Android的Python(Qpython)

来自分类Dev

Finish()在某些设备中不适用于活动

来自分类Dev

Android Studio中没有xml布局的新活动

来自分类Dev

在Cordova config.xml中更改Android活动名称

来自分类Dev

VSCode中的Flutter beta热重装适用于Web,但不适用于iOS和Android(适用于Android Studio)

来自分类Dev

适用于Android的音频pubnub webrtc中的问题

Related 相关文章

  1. 1

    电子邮件意图不再适用于Android Lollipop

  2. 2

    电子邮件意图不再适用于Android Lollipop

  3. 3

    适用于Android的xml中的梯形阴影

  4. 4

    使用适用于Android的Eclipse IDE在Android代码中搜索对布局xml文件的引用

  5. 5

    Android主题不适用于活动

  6. 6

    仅在Android Lollipop 5.0中无法获取前台活动名称

  7. 7

    Android Studio项目适用于Lollipop,但不适用于Kitkat

  8. 8

    适用于Android的自定义XML元素

  9. 9

    适用于Pre-Lollipop设备的Android TextView中的Triangular Bullet

  10. 10

    将适用于Android Lollipop 5.0的Phonegap中的URL列入白名单

  11. 11

    适用于Android的AsyncTask中的doInBackground

  12. 12

    Android Lollipop活动屏幕损坏

  13. 13

    使用CSOM以编程方式在SharePoint中创建字段(不适用于XML)

  14. 14

    为什么样式不适用于princexml中的xml

  15. 15

    为什么排序规则不适用于子查询中的xml路径?

  16. 16

    XSLT样式表不适用于Firefox中的XML。如何解决?

  17. 17

    适用于所有活动的Android关键事件通用

  18. 18

    android中的listview:一项适用于所有listview项目的活动

  19. 19

    实时重装似乎不再适用于.net core 3.1中的Angular

  20. 20

    在 KDE 上的 Vim 中,Ctrl-w 不再适用于更改窗格

  21. 21

    XSLT不适用于xml

  22. 22

    XPath不适用于XML选择

  23. 23

    如何检查Android Lollipop中的活动是否已锁定(应用固定)

  24. 24

    在Android终端中运行适用于Android的Python(Qpython)

  25. 25

    Finish()在某些设备中不适用于活动

  26. 26

    Android Studio中没有xml布局的新活动

  27. 27

    在Cordova config.xml中更改Android活动名称

  28. 28

    VSCode中的Flutter beta热重装适用于Web,但不适用于iOS和Android(适用于Android Studio)

  29. 29

    适用于Android的音频pubnub webrtc中的问题

热门标签

归档