Hen*_*rik 22 android android-virtual-device android-edittext android-4.2-jelly-bean
我遇到了最新的Jelly Bean模拟器的行为问题.EditTexts我的应用程序中有几个.OnEditorActionListener当用户按下键盘上的ENTER键时,An 提供特殊处理.这一直到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);
Run Code Online (Sandbox Code Playgroud)
这是Jelly Bean中的一个错误吗?还是在模拟器中?或者有意改变了行为?
奇怪的是,其他人写道,该方法被调用,但带有意外的参数,在这里运行Jelly Bean的Nexus 7:onEditorAction()中的null keyevent和actionid = 0(Jelly Bean/Nexus 7)
Hen*_*rik 35
如果其他人发现了这个问题:
我已经多次测试过,在Jelly Bean模拟器上,当在虚拟键盘上按下Enter键时,侦听器回调方法onEditorAction()确实不再被调用.
如上所述,可能的解决方案或解决方法是使用其中一个可用操作键替换Enter键.那些仍然触发onEditorAction().我还必须指定输入类型.
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);Run Code Online (Sandbox Code Playgroud)
<EditText
...
android:imeOptions="actionGo"
android:inputType="text" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20807 次 |
| 最近记录: |