【发布时间】:2015-04-27 10:41:48
【问题描述】:
当按下KEYCODE_DEL 按钮时,我想在两个EditText 视图之间切换。
我的代码有效,它确实关注了以前的EditText,但是当它这样做时,键盘消失了,光标位于该EditText 中的实际文本之前。
为了更生动,当焦点切换时,EditText 看起来像这样:
|23 其中| 是光标位置,键盘被隐藏。
这是我的代码:
if(event.getKeyCode() == KeyEvent.KEYCODE_DEL){
super.dispatchKeyEvent(event);
focusPreviousET();
return true;
}
else{
super.dispatchKeyEvent(event);
check();
return true;
}
private void focusPreviousET() {
String sId = getId(getCurrentFocus());
Identification id = new Identification(sId);
etX = getETFromResource(id);
if(isEmpty(etX)){
etX.setEnabled(false);
id.previousId();
etX = getETFromResource(id);
etX.requestFocus();
}
}
public void check(){
etX = (EditText) getCurrentFocus();
if(etX.getText().toString().length()==2){
focusNextFreeET();
}
}
另外check() 方法不起作用,我不知道为什么...方法focusNextFreeET() 在其他情况下有效,但不是在这里。
有什么建议吗?
编辑
忘了说,当EditText被22,31,10这样的数字填充时,光标实际上位于末尾,而当数字前面有0时,光标位于开头,例如01 ,02 等...在这两种情况下,键盘都是隐藏的。
【问题讨论】:
标签: android android-view