【问题标题】:Android: Cannot input any digit in EditText field after leading minus signAndroid:前导减号后无法在EditText字段中输入任何数字
【发布时间】:2021-12-06 23:07:45
【问题描述】:

我有一个 EditText 字段,其输入类型如下:

android:inputType="numberDecimal|numberSigned"

但是在我输入减号作为第一个字符(前导减号)然后我尝试输入数字 2 但它没有接受它。事实上,在前导减号之后,它不接受任何输入(没有数字,什么都没有)。

EditText xml的其他字段如下:

android:id="@+id/etAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/editText"
android:longClickable="false"
android:inputType="numberDecimal|numberSigned"
android:layout_marginTop="20dp"

如果有解决办法,请告诉我。

【问题讨论】:

    标签: android android-edittext android-inputtype


    【解决方案1】:

    您可以为您的 editText 定义一个数字属性,并且您可以设置您只想输入的数字。这将对您有所帮助。

    android:digits="0123456789-"
    

    【讨论】:

    • 我也需要十进制。然后会变成android:digits="0123456789-."。然后用户可以键入无效的 .-.123,我将不得不在代码中验证它并再次显示活动。这是很多工作。
    • 您可以限制用户多次输入。在您的编辑文本中。如果用户第一次进入 .您可以将其替换为空字符串。直到或除非用户输入正确的格式输入,您可以根据您的要求处理。还有如果一次。输入,那么如果用户再次输入,您也可以替换 .与“”,过程继续。如果你愿意,我可以为你提供这个逻辑。这样你的工作就可以完成了
    【解决方案2】:

    问题解决了。造成问题的代码中有一个输入过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 2021-05-14
      • 2012-09-14
      • 1970-01-01
      • 2020-12-25
      • 2016-09-11
      • 2019-12-27
      相关资源
      最近更新 更多