每次我的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>
答案 0 :(得分:13)
谷歌的答案是
“日志正常;它是第一次设备需要键映射时发生的 在一个过程中。 “
http://groups.google.com/group/android-developers/browse_thread/thread/477caf755085b108
因此,如果您在Activity1之前启动了Activity2,您会在Activity2中看到警告而不是Activity1!
正如我所说的,我认为很多开发人员都会得到这个消息,这只是一个警告而不是错误;它可以被忽略。
答案 1 :(得分:1)
正如@Blundell所说,这是正常的。 但它总是消耗第一个keyPressed事件。 最后,我在init上添加了这个:
setFocusableInTouchMode(true);
我不知道为什么,但这条警告信息再也不会让我烦恼。