我只在Samsung Galaxy Fame设备上遇到EditText的一些问题。在屏幕截图中,您将看到这两个错误:
editText bug http://ubuntuone.com/1vcvZkZevshNLvl4DvBNJ5
错误№1:清单中的RTL被禁用,重力未被设置为“正确”,但是当您添加新符号时,它们被放置在EditText的右侧。
错误№2:最后一个字符应为“0”,而不是反转“?”问号符号。 P.S:我正在使用标准字体。
UPD 的: 所有输入都是通过自定义键盘布局,所以我用下一行模拟按键:
long eventTime = System.currentTimeMillis();
KeyEvent keyEventDown = new KeyEvent(eventTime, eventTime, KeyEvent.ACTION_DOWN,
keyCode, 0, 0, 0, 0,
KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE);
targetActivity.dispatchKeyEvent(keyEventDown);
Upd2 :问题出在dispatchKeyEvent方法中:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_0){
//I can add "0" to editText here, but this is only backup plan.
return true;
}
super.dispatchKeyEvent(event);
return true;
}
答案 0 :(得分:0)
我找到了解决这个问题的方法。解决方案非常简单,我希望它也能为其他人提供帮助。
editText.setInputType(InputType.TYPE_CLASS_PHONE);