繁体   English   中英

在Android 2.3上按菜单按钮时,应用崩溃

[英]App crash when Menu button is pressed on Android 2.3

我的应用程序有一个ActionBar(使用Support v7 lib),我想使用“选项”菜单添加一些动作。 我按照本教程操作以实现栏和菜单,并且在加载视图时它们会按预期显示。

我要测试的设备最多可以在操作栏中容纳2个按钮,其余的应该转到溢出菜单。

如果仅在菜单中添加两个项目,则按菜单按钮时将不会发生任何事情,这很好,因为没有更多的选项可显示。

如果我添加了第三个,或强制一个不显示在操作栏上(通过设置showAsAction="never" ),然后按菜单按钮,我的应用程序将崩溃。

Logcat不会注册任何错误消息,但是在按菜单按钮时会显示以下警告:

W/KeyCharacterMap﹕ Can't open keycharmap file
W/KeyCharacterMap﹕ Error loading keycharmap file '/system/usr/keychars/ft5x0x_ts.kcm.bin'. hw.keyboards.65536.devname='ft5x0x_ts'
W/KeyCharacterMap﹕ Using default keymap: /system/usr/keychars/qwerty.kcm.bin

从应用初始化到崩溃时刻的完整日志: http : //pastebin.com/gm22H18s

每当我按下该按钮时,无论哪个应用程序正在运行,这些警告都会出现,因此我认为这与之无关。 缺点是这是Logcat的唯一输出。

更新:我的测试设备运行的是Android 2.3,当我在该设备上运行时,该应用程序崩溃了。 我在KitKat模拟器上进行了测试,并且不会崩溃。 我也在Gingerbread模拟器上进行了测试,它也崩溃了。 这样我就知道我的设备不是问题。

menu.xml文件:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:com.example.myapp="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_search"
        com.example.myapp:showAsAction="always"
        android:icon="@drawable/ic_launcher"
        android:title="Search" />
    <item
        android:id="@+id/menu_cart"
        com.example.myapp:showAsAction="always"
        android:icon="@drawable/ic_launcher"
        android:title="Cart" />
    <item
        android:id="@+id/menu_login"
        com.example.myapp:showAsAction="never"
        android:icon="@drawable/ic_launcher"
        android:title="Log in" />
</menu>

菜单通货膨胀:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return super.onCreateOptionsMenu(menu);
}

Logcat输出:

I/ActivityManager( 277): Start proc com.example.myapp for activity com.example.myapp/.MainActivity: pid=13924 uid=10053 gids={1006, 3003, 1015} W/KeyCharacterMap(13924): Can't open keycharmap file W/KeyCharacterMap(13924): Error loading keycharmap file '/system/usr/keychars/ft5x0x_ts.kcm.bin'. hw.keyboards.65536.devname='ft5x0x_ts' W/KeyCharacterMap(13924): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/KeyCharacterMap(13924): Can't open keycharmap file W/KeyCharacterMap(13924): Error loading keycharmap file '/system/usr/keychars/ft5x0x_ts.kcm.bin'. hw.keyboards.65536.devname='ft5x0x_ts' W/KeyCharacterMap(13924): Using default keymap: /system/usr/keychars/qwerty.kcm.bin I/DEBUG (13893): Build fingerprint: 'sprd/sprdroid_base/hsdroid:2.3.5/MocorDroid2.3.5/W12.20_P20.01:user/test-keys' I/DEBUG (13893): pid: 13924, tid: 13924 >>> com.example.myapp <<< I/DEBUG (13893): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000001 I/DEBUG (13893): r0 00000000 r1 00000007 r2 fffffe84 r3 00000070 I/DEBUG (13893): r4 0000bca8 r5 40789b38 r6 ad3889dc r7 00000001 I/DEBUG (13893): r8 003a8d98 r9 003a2e60 10 00000001 fp 41968b08 I/DEBUG (13893): ip ad389828 sp befc5358 lr ad356e9d pc a81155c8 cpsr 20800030 I/DEBUG (13893): d0 0000000000000000 d1 0000000000000000 I/DEBUG (13893): d2 0000000000000000 d3 0000000000000000 I/DEBUG (13893): d4 0000000000000000 d5 0000000000000000 I/DEBUG (13893): d6 0000000000000000 d7 0000000000000000 I/DEBUG (13893): d8 0000000042900000 d9 0000000000000000 I/DEBUG (13893): d10 0000000000000000 d11 0000000000000000 I/DEBUG (13893): d12 0000000000000000 d13 0000000000000000 I/DEBUG (13893): d14 0000000000000000 d15 0000000000000000 I/DEBUG (13893): d16 003a8d9860000013 d17 003a2e6000000001 I/DEBUG (13893): d18 000000060053b820 d19 00000001003a2e60 I/DEBUG (13893): d20 ab20faa000000006 d21 ab142fdcbefc5248 I/DEBUG (13893): d22 0000000000000000 d23 0000000000000000 I/DEBUG (13893): d24 3ff0000000000000 d25 0000000000000000 I/DEBUG (13893): d26 0000000000000000 d27 0000000000000000 I/DEBUG (13893): d28 3f137c749114f9db d29 3ff0000000000000 I/DEBUG (13893): d30 0000000000000000 d31 3ff0000000000000 I/DEBUG (13893): scr 60000013 I/DEBUG (13893): I/DEBUG (13893): #00 pc 000155c8 /system/lib/libutils.so I/DEBUG (13893): #01 lr ad356e9d /system/lib/libandroid_runtime.so I/DEBUG (13893): Build fingerprint: 'sprd/sprdroid_base/hsdroid:2.3.5/MocorDroid2.3.5/W12.20_P20.01:user/test-keys' I/DEBUG (13893): pid: 13924, tid: 13924 >>> com.example.myapp <<< I/DEBUG (13893): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000001 I/DEBUG (13893): r0 00000000 r1 00000007 r2 fffffe84 r3 00000070 I/DEBUG (13893): r4 0000bca8 r5 40789b38 r6 ad3889dc r7 00000001 I/DEBUG (13893): r8 003a8d98 r9 003a2e60 10 00000001 fp 41968b08 I/DEBUG (13893): ip ad389828 sp befc5358 lr ad356e9d pc a81155c8 cpsr 20800030 I/DEBUG (13893): d0 0000000000000000 d1 0000000000000000 I/DEBUG (13893): d2 0000000000000000 d3 0000000000000000 I/DEBUG (13893): d4 0000000000000000 d5 0000000000000000 I/DEBUG (13893): d6 0000000000000000 d7 0000000000000000 I/DEBUG (13893): d8 0000000042900000 d9 0000000000000000 I/DEBUG (13893): d10 0000000000000000 d11 0000000000000000 I/DEBUG (13893): d12 0000000000000000 d13 0000000000000000 I/DEBUG (13893): d14 0000000000000000 d15 0000000000000000 I/DEBUG (13893): d16 003a8d9860000013 d17 003a2e6000000001 I/DEBUG (13893): d18 000000060053b820 d19 00000001003a2e60 I/DEBUG (13893): d20 ab20faa000000006 d21 ab142fdcbefc5248 I/DEBUG (13893): d22 0000000000000000 d23 0000000000000000 I/DEBUG (13893): d24 3ff0000000000000 d25 0000000000000000 I/DEBUG (13893): d26 0000000000000000 d27 0000000000000000 I/DEBUG (13893): d28 3f137c749114f9db d29 3ff0000000000000 I/DEBUG (13893): d30 0000000000000000 d31 3ff0000000000000 I/DEBUG (13893): scr 60000013 I/DEBUG (13893): I/DEBUG (13893): #00 pc 000155c8 /system/lib/libutils.so I/DEBUG (13893): #01 lr ad356e9d /system/lib/libandroid_runtime.so

这里同样的问题。 没关系,突然停了下来。 找到了这个职位的答案

API 7上有溢出操作时,菜单按钮会使应用程序崩溃

这是0.9.1渐变PNG抓手的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM