gpt4 book ai didi

android - 在果冻 bean 模拟器上按下 Enter 键后不调用 onEditorAction()

转载 作者:IT老高 更新时间:2023-10-28 22:25:40 26 4
gpt4 key购买 nike

我对最新的 Jelly Bean 模拟器的行为有疑问。我的应用中有几个 EditTextsOnEditorActionListener 在用户按下键盘上的 ENTER 键时提供特殊处理。这在 ICS 之前一直有效,但现在在 Jelly Bean 上不再调用监听器回调方法 onEditorAction()EditText 中只插入了一个新行。

可以这样复制:

EditText testEditText = new EditText(context);
testEditText.setOnEditorActionListener(new OnEditorActionListener() {

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Log.d(TAG, "onEditorAction() called");
return false;
}
});
addView(testEditText);

这是果冻 bean 中的错误吗?还是在模拟器中?还是有意改变了行为?

奇怪的是,其他人在此处运行 Jelly Bean 的 Nexus 7 上调用了该方法,但带有意外参数:null keyevent and actionid = 0 in onEditorAction() (Jelly Bean / Nexus 7)

最佳答案

如果其他人发现这个问题:

我已经对此进行了多次测试,在 Jelly Bean 模拟器上,当在虚拟键盘上按下 Enter 键时,监听器回调方法 onEditorAction() 确实不再被调用。

如上所述,一种可能的解决方案或解决方法是将 Enter 键替换为可用的操作键之一。那些仍然触发 onEditorAction()。我还必须指定输入类型。

editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);
<EditText
...
android:imeOptions="actionGo"
android:inputType="text" />

关于android - 在果冻 bean 模拟器上按下 Enter 键后不调用 onEditorAction(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11311790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com