Android 具有inputType Number的EditText CIMAL具有下划线

Android 具有inputType Number的EditText CIMAL具有下划线,android,android-softkeyboard,Android,Android Softkeyboard,我看到了我认为使用inputType=numberDecimal的EditText的奇怪行为 在我的Galaxy Nexus(使用谷歌键盘)上,当我点击editText字段时,通常会出现下划线: 它看起来几乎可以是自动更正、自动完成或文本建议,但对于NumberCIMAL输入类型来说,这是没有意义的。我尝试了textNoSuggestions,正如预期的那样,这并没有删除下划线 当存在时,这些下划线当前给我带来了问题。我在editText上附加了一个textwatcher作为侦听器。点击该字段

我看到了我认为使用inputType=numberDecimal的EditText的奇怪行为

在我的Galaxy Nexus(使用谷歌键盘)上,当我点击editText字段时,通常会出现下划线:

它看起来几乎可以是自动更正、自动完成或文本建议,但对于NumberCIMAL输入类型来说,这是没有意义的。我尝试了textNoSuggestions,正如预期的那样,这并没有删除下划线

当存在时,这些下划线当前给我带来了问题。我在editText上附加了一个textwatcher作为侦听器。点击该字段后,每当出现此下划线且光标位于屏幕截图中时:

  • 当用户输入2时,onTextChanged接收:0.002。这是正确的。然后,在后文本更改中,我将此数字的格式设置为0.02

  • 此时,如果用户输入3,则ContextChanged接收:0.020023。这是不对的。由于某些原因,“002”被追加到3之前的editText值中。这显然使我在PostTextChanged中的格式逻辑失效

  • 我的textwatcher逻辑已经运行了很长时间,直到最近才开始出现这个问题。只要我移动光标,使下划线消失,那么我就看不到ContextChanged接收“不正确”值的问题

    至于是什么改变了这条下划线,我相信我已经把它缩小到谷歌键盘应用程序。当我使用谷歌键盘版本1.1.1881.801980时,我看到了这个问题。我卸载了更新并回滚到版本4.2.2-573038,在该版本中,我的textwatcher没有任何下划线,因此没有任何问题

    所以,我的问题是:

    有人知道这个下划线应该在数字数字字段中是什么吗?这是合法的还是错误的

    不管有没有Bug,有人知道如何防止用户点击字段时出现此下划线吗?

    Set

      android:inputType="textNoSuggestions"
    
    设置

      android:inputType="textNoSuggestions"
    

    我有一个非常类似的问题。每当我得到带下划线的文本时,我的文本侦听器都会得到ContextChanged中字符序列的意外值。

    我有一个非常类似的问题。每当我得到带下划线的文本时,我的文本侦听器都会得到ContextChanged中字符序列的意外值。

    我认为这是一个错误,即使在EditText上调用了setText之后,键盘仍会记住旧输入的状态。我用下面的代码重置了状态

    InputMethodManager mgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    
    mgr.restartInput(editText);
    

    我认为这是一个错误,即使在EditText上调用了setText之后,键盘仍会记住旧输入的状态。我用下面的代码重置了状态

    InputMethodManager mgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    
    mgr.restartInput(editText);
    

    此问题已通过谷歌键盘应用程序2.0.18933.905102a版本的最新更新得到解决。

    此问题已通过谷歌键盘应用程序2.0.18933.905102a版本的最新更新得到解决。

    如我所述,我已经尝试了textNoSuggestions。此输入类型只能与“文本”输入类型组合。正如我提到的,我已经尝试了textNoSuggestions。此输入类型只能与“文本”输入类型组合。请关闭您的键盘字典并让我知道…它对我有效…嗨,Sri,我不知道如何关闭键盘字典?我尝试过进入设置/语言和输入,关闭自动大写、自动更正、更正建议、动态浮动预览、手势跟踪和下一个单词建议。我仍然看到下划线。我很想知道是哪个选项导致了这种情况,但我需要一个编程解决方案,而不是要求用户更改他们的手机设置。请关闭键盘字典并让我知道…它对我有用…嗨,斯瑞,我不确定如何关闭键盘字典?我尝试过进入设置/语言和输入,关闭自动大写、自动更正、更正建议、动态浮动预览、手势跟踪和下一个单词建议。我仍然看到下划线。我很想知道是哪个选项让这一切发生了,但我需要一个程序化的解决方案,而不是要求用户更改他们的手机设置。