【问题标题】:Android Keyboard Character ValidationAndroid 键盘字符验证
【发布时间】:2012-12-11 07:10:06
【问题描述】:

我想要一个 Android 应用程序上的 EditText 来限制允许用户输入的字符。

例如,也许我不希望我的用户能够在我的文本框中键入字母“X”。如果他们点击软键盘上的 X 键,则应该直接忽略输入。

我觉得我可以使用 TextWatcher 来控制可以在文本框中输入哪些字符,但我不太确定最好的方法。

【问题讨论】:

    标签: android validation keyboard textwatcher


    【解决方案1】:

    在xml中试试这个EditText

    android:digits="abcdef-jklmn"
    

    不要添加你不想让用户输入的字符。

    【讨论】:

      【解决方案2】:

      尝试:

      myEditText.addTextChangedListener(new TextWatcher() {
              public void onTextChanged(CharSequence s, int start, int before, int count) {
      
                  s = removeChars(s);
      
              }
      
              public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      
                  // TODO Auto-generated method stub
              }
      
              public void afterTextChanged(Editable s) {
      
                  // TODO Auto-generated method stub
              }
          });
      
       public static String removeChars(String input) {
      
          String charactersToDelete = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇQWERTYUIOPÑLKJHGFDSAZXCVBNM";
      
          String output = input;
          for (int i=0; i<original.length(); i++) {
              output.replaceAll(charactersToDelete.charAt(i)+"", "");
          }
          return output;
      }
      

      【讨论】:

        【解决方案3】:

        使用这个可能会有所帮助..

         editText.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            switch(keyCode)
         {
                case KeyEvent.KEYCODE_0:
                    //handle code for pressing 0
                    break;
                default:
                    break;
            }
        }
        

        });

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-23
          • 1970-01-01
          • 2014-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-26
          相关资源
          最近更新 更多