【问题标题】:Edittext is not accepting number as input typeEdittext 不接受数字作为输入类型
【发布时间】:2015-03-27 12:10:35
【问题描述】:

我无法在 Edittext 字段中输入数字(数字)。

如果我保留android:inputType="text",则无法输入号码。
如果我保留android:inputType="text|number",则键盘只接受数字。

但是如果我保留android:inputType="textMultiLine",我可以同时输入文本/数字,但第一个字符不能是数字,它应该是一个字符。

我也尝试过使用其他选项,但没有任何效果。我正在使用target sdk:21 构建应用程序

注意:我需要文本/数字作为输入

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:
    InputFilter filter = new InputFilter() { 
      public CharSequence filter(CharSequence source, int start, int end, 
        Spanned dest, int dstart, int dend) {
          for (int i = start; i < end; i++) { 
            if (!Character.isDigit(source.charAt(i))) { 
                return ""; 
            }
          }
          return null; 
        } 
    }; 
    your_edit_text.setFilters(new InputFilter[]{filter});
    

    【讨论】:

    • 请为您的答案添加一些解释
    • @SahilMittal 你只需用'your_edit_text'替换你的edittext实例,它只允许用户输入数字。
    【解决方案2】:
    public boolean isLeadingDigit(final String value){
        final char c = value.charAt(0);
        return (c >= '0' && c <= '9');
    }
    

    【讨论】:

      【解决方案3】:

      你可以使用

      android:inputType="numberDecimal"
      

      【讨论】:

      【解决方案4】:

      如果您希望能够输入文本和数字,请尽量不指定 inputType 或将其设置为“none”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-23
        • 1970-01-01
        • 2018-11-30
        • 2023-03-09
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 2020-04-12
        相关资源
        最近更新 更多