来自 onPress 的自定义键盘 primaryCode 始终为零
Custom keyboard primaryCode from onPress is always zero
这是我的问题。我有一个自定义键盘,我正在动态地向其添加键,但是每当我尝试捕捉被按下的键时,我都没有捕捉到任何有用的东西。唯一被触发的回调是 onPress 并且它应该将键 primaryCode 作为参数。问题是即使我在创建密钥时尝试更改它,这个主值始终为 0。如何获取 primaryCode 以反映按下的键的主代码?
这是我的 keyboard.xml
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="25%p"
android:keyHeight="10%p">
</Keyboard>
这是我生成键盘按键的地方,效果很好。我的键盘看起来完全符合预期。
Keyboard.Row row = new Row(this);
for (int i = 0; i < labels.size(); i++) {
Keyboard.Key key = new Keyboard.Key(row);
key.label = labels.get(i);
key.text = labels.get(i);
key.codes = new int[] { 'c' };
key.width = keyWidth;
key.height = keyHeight;
this.getKeys().add(key);
}
然后我在我的片段中注册了监听器。
keyboardView.setOnKeyboardActionListener(this);
问题是我的 keyboard.xml 文件中没有存根行和键。添加它们后问题就解决了。
这是我的问题。我有一个自定义键盘,我正在动态地向其添加键,但是每当我尝试捕捉被按下的键时,我都没有捕捉到任何有用的东西。唯一被触发的回调是 onPress 并且它应该将键 primaryCode 作为参数。问题是即使我在创建密钥时尝试更改它,这个主值始终为 0。如何获取 primaryCode 以反映按下的键的主代码?
这是我的 keyboard.xml
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="25%p"
android:keyHeight="10%p">
</Keyboard>
这是我生成键盘按键的地方,效果很好。我的键盘看起来完全符合预期。
Keyboard.Row row = new Row(this);
for (int i = 0; i < labels.size(); i++) {
Keyboard.Key key = new Keyboard.Key(row);
key.label = labels.get(i);
key.text = labels.get(i);
key.codes = new int[] { 'c' };
key.width = keyWidth;
key.height = keyHeight;
this.getKeys().add(key);
}
然后我在我的片段中注册了监听器。
keyboardView.setOnKeyboardActionListener(this);
问题是我的 keyboard.xml 文件中没有存根行和键。添加它们后问题就解决了。