Android 如果计数>1,TextWatcher停止

Android 如果计数>1,TextWatcher停止,android,Android,当用户输入字符数>1时,我尝试显示/设置TextView的动画。但每次我更改文本时,TextView动画都会重复设置动画 如果计数大于1,是否有任何方法可以使其冻结,如果计数小于0,是否可以再次重新设置动画淡出 fName.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, i

当用户输入字符数>1时,我尝试显示/设置TextView的动画。但每次我更改文本时,TextView动画都会重复设置动画

如果计数大于1,是否有任何方法可以使其冻结,如果计数小于0,是否可以再次重新设置动画淡出

 fName.addTextChangedListener(new TextWatcher() {
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {
             if(count > 1) {
                 firstNameTV.startAnimation(in);
                 firstNameTV.setVisibility(View.VISIBLE);
             }

         }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void afterTextChanged (Editable s){
            // TODO Auto-generated method stub
        }

    });
请尝试以下代码:

boolean flagAnimate=false;

    fName.addTextChangedListener(new TextWatcher() {
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
                 if(count >= 1 && !flagAnimate) {
                     firstNameTV.startAnimation(in);
                     firstNameTV.setVisibility(View.VISIBLE);
                     flagAnimate= true;
                 } else if(count == 0){
                     firstNameTV.startAnimation(out);
                     firstNameTV.setVisibility(View.INVISIBLE);
                     flagAnimate= false;
                        }

             }
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void afterTextChanged (Editable s){
                // TODO Auto-generated method stub
            }

        });

此代码可解决您的问题:

祝贺你。如果我的回答对你有用,请让我放弃投票。谢谢