【问题标题】:EditText representation bug on Samsung Galaxy Fame三星 Galaxy Fame 上的 EditText 表示错误
【发布时间】:2013-11-18 16:50:34
【问题描述】:

我仅在三星 Galaxy Fame 设备上使用 EditText 时遇到了一些问题。在截图中你会看到这两个错误:

editText bug http://ubuntuone.com/1vcvZkZevshNLvl4DvBNJ5

Bug №1:在清单中禁用 RTL,重力没有设置为“右”,但是当您添加新符号时,它们被放置在 EditText 的右侧。

Bug №2:最后一个字符应该是“0”,而不是倒置的“?”问号符号。 P.S:我使用的是标准字体。

更新: 所有输入都是通过自定义键盘布局进行的,所以我用下一行模拟按键:

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;
}

【问题讨论】:

    标签: android android-edittext samsung-mobile right-to-left


    【解决方案1】:

    我找到了解决该问题的方法。解决方案非常简单,希望对其他人也有帮助。

    editText.setInputType(InputType.TYPE_CLASS_PHONE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 2012-06-12
      • 1970-01-01
      相关资源
      最近更新 更多