EditText监听延迟操作

etUserName.addTextChangedListener(new TextWatcher() {

@Override

            public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {

}

@Override

            public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {

}

@Override

            public void afterTextChanged(Editable editable) {

               userName=editable.toString();

                if (editable.length() == 0) {

                   HHTipUtils.getInstance().showToast(getPageContext(),R.string.input_user_name);

                }

                if(mRunnable!=null){

                   //每次editText有变化的时候,则移除上次发出的延迟线程

                    mhandler.removeCallbacks(mRunnable);

               }

                //延迟800ms,如果不再输入字符,则执行该线程的run方法

               mhandler.postDelayed(mRunnable, 1000);

            }

});

private RunnablemRunnable=new Runnable() {

@Override

        public void run() {

if (!TextUtils.isEmpty(userName)){

//                updateUserInfo(userName);

            }

}

};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容