3

我从头开始尝试使用软键盘,但在按下Next按钮时发现了一个问题。它在其他键盘上按预期工作,所以我认为这可能是他们在开发样本时没有考虑到的事情。我还没有尝试其他版本。

使用的版本:Android API 15 源代码来自 android-sdk/samples/android-15/SoftKeyboard

问题:如果您有一个包含两个文本字段的表单,则在按下下一个按钮(右下角的输入)后,光标不会转到下一个字段。

示例:可以尝试使用联系人应用程序:

  • 打开联系人
  • 点击某个联系人
  • 单击操作栏顶部的编辑按钮
  • 查看联系人的电子邮件,如果只有一个文本字段,请按 + 按钮,因此至少有 2 个文本字段
  • 单击第一个文本字段以编辑电子邮件 #1
  • 在软键盘示例上键入下一步按钮
  • 光标会消失,不会转到下一个字段(有时会崩溃,但通常您只需再次触摸文本字段即可,一切正常)

在调试时我还没有发现任何问题,但是我在源代码中有些地方可以查看: 在com.example.android.softkeyboard.SoftKeyboard课堂上:

public boolean onKeyDown(int keyCode, KeyEvent event)方法有:

case KeyEvent.KEYCODE_ENTER:
// Let the underlying text editor always handle these.
return false;

我看了一下,调试的时候掉到这里,看起来还可以,因为光标的变化不是软键盘处理的

我想到的另一种方法是

public void onStartInput(EditorInfo attribute, boolean restarting)

也许它没有将光标移到它所在的位置,所以它就消失了。但是我还没有找到解决方法,所以我不知道这是否真的发生了。

4

0 回答 0