“id 0没有键盘” - 这是什么意思?

时间:2011-06-12 11:34:14

标签: android keyboard warnings options-menu

每次我的Optionsmenu打开(onCreateOptionsMenu(..)被调用), 我收到这些警告:

  

“没有用于ID 0的键盘”

  

“使用默认keyMap:   /system/usr/keychars/qwerty.kcm.bin“

我无法找出他们的意思,有谁知道?我不喜欢this answer

这是我正在使用的简单代码:

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

和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>

2 个答案:

答案 0 :(得分:13)

谷歌的答案是

“日志正常;它是第一次设备需要键映射时发生的 在一个过程中。 “

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

因此,如果您在Activity1之前启动了Activity2,您会在Activity2中看到警告而不是Activity1!

正如我所说的,我认为很多开发人员都会得到这个消息,这只是一个警告而不是错误;它可以被忽略。

答案 1 :(得分:1)

正如@Blundell所说,这是正常的。 但它总是消耗第一个keyPressed事件。 最后,我在init上添加了这个:

setFocusableInTouchMode(true);

我不知道为什么,但这条警告信息再也不会让我烦恼。