1

How to trigger an action when user has paused typing for some time in EditText?

Aniket Kapse
  • 190
  • 1
  • 18
  • Check this http://stackoverflow.com/questions/10217051/how-to-avoid-multiple-triggers-on-edittext-while-user-is-typing – Jitender Dev Jan 03 '14 at 06:01

1 Answers1

8

You can do this:

final Handler mHandler = new Handler();
editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {

        }

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

        @Override
        public void afterTextChanged(Editable s) {
            mHandler.removeCallbacksAndMessages(null);
            mHandler.postDelayed(userStoppedTyping, 2000); // 2 second
        }

        Runnable userStoppedTyping = new Runnable() {

            @Override
            public void run() {
                // user didn't typed for 2 seconds, do whatever you want
            }
        };
});
M-WaJeEh
  • 16,562
  • 9
  • 59
  • 93