“No keyboard for id 0” - what does it mean?

无人久伴 提交于 2019-12-18 03:43:12

问题


Each time my Optionsmenu opens (onCreateOptionsMenu(..) is called), I get these warnings:

"No keyboard for id 0"

and

"Using default keyMap: /system/usr/keychars/qwerty.kcm.bin"

I couldn't find out what they mean, does anyone know ? I didn't like this answer.

Here's the simple code I'm using:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.optmenu_start, menu);
    return true;
}

and the optmenu_start.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:id="@+id/optmenu_prefs"
    android:title="@string/optmenu_prefs"
    android:icon="@drawable/icon_menu_prefs"
  />
  <item
    android:id="@+id/optmenu_help"
    android:title="@string/optmenu_help"
    android:icon="@drawable/icon_menu_help"
  />
</menu>

回答1:


Google's answer is

" The log is normal; it happens the first time a keymap is needed for a device in a process. "

http://groups.google.com/group/android-developers/browse_thread/thread/477caf755085b108

So therefore if you started Activity2 before Activity1 you would see the warning in Activity2 and not Activity1!

As I said I think a lot of developers get this message and it's just a warning not an error; it can be ignored.




回答2:


As @Blundell said, it's normal. But it always consumes the first keyPressed event. Finally, I add this on init:

setFocusableInTouchMode(true);

I don't know why, but this warning message never annoys me again.



来源:https://stackoverflow.com/questions/6321706/no-keyboard-for-id-0-what-does-it-mean

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!