0

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

4

2 回答 2

1

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();
        }
      }};

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

于 2015-03-19T16:41:48.697 回答
0

这对我有用:)

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);
于 2015-03-24T16:15:18.947 回答