我的EditText
上有一个RelativeLayout
视图,我可以捕获软输入键盘键代码KEYCODE_ENTER (int 66)
。这是关键听众:
myedittext.setOnKeyListener(new View.OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
Log.d("softinput", "key received!");
}
});
问题是软键盘显示标有“下一步”的键,我需要它显示“完成”。当我(成功)使用API将密钥更改为“完成”时:
myedittext.setImeOptions(EditorInfo.IME_ACTION_DONE);
Key监听器停止工作,我无法再在密钥监听器中收到任何。 LogCat没有显示任何内容。它确实停止了工作。当我删除上面的代码行时,一切都会再次起作用,但键显示“下一步”。
我猜这是在清除通知键所需的其他标志,但使用EditorInfo.IME_ACTION_NEXT工作正常,但软键当然显示“下一步”。
有人知道解决方法吗?或者出现这种情况的原因?
感谢。
答案 0 :(得分:0)
你说你有一个EditText,但你的变量是" mytextview"。您是否正确地将关键监听器设置为 EditText ?
答案 1 :(得分:0)
将imeOptions
更改为以XML而非代码完成的操作。
将以下内容添加到edittext
代码
android:imeOptions="actionDone"