如何在安卓中控制编辑文本不输入相同的数字两次?



我尝试过使用TextChangedListener、beforeTextChanged和afterTextChanged!但我没有结果

TextWatcher类可以帮助您:

   @Override
      public void afterTextChanged(Editable arg0) {
        // TODO Auto-generated method stub
      }
      @Override
      public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
          int arg3) {
        // TODO Auto-generated method stub
      }
      @Override
      public void onTextChanged(CharSequence s, int a, int b, int c) {
        // TODO Auto-generated method stub
        output.setText(s);
        if(a == 9){
          Toast.makeText(getApplicationContext(), "Maximum Limit Reached", Toast.LENGTH_SHORT).show();
        }
      }};

完整的参考资料可以在这里找到。

这项工作对我来说:)

txtwt = new TextWatcher()
    {
       char last ;
       @Override
       public void beforeTextChanged(CharSequence s, int start, int count, int after)
       {
           if (s.toString().length() >= 1)
                EntredNumber = s.toString();
        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            if (s.toString().length() >= 2)
            {
                last = (s.toString().charAt(s.toString().length() - 1));
               // Toast.makeText(getApplicationContext(), last +"", Toast.LENGTH_SHORT).show();
                if (EntredNumber.contains((last + "")))
                {
                    txtImputNumber.removeTextChangedListener(txtwt);
                    txtImputNumber.setText(EntredNumber);
                    txtImputNumber.setSelection(EntredNumber.length());
                    txtImputNumber.addTextChangedListener(txtwt);
                }
            }
        }
        @Override
        public void afterTextChanged(Editable s)
        {
        }
    };
   txtImputNumber.addTextChangedListener(txtwt);

最新更新