I\'ve got a SearchView
setup, and I have a loosely decoupled architecture using Retrofit
and Otto
.
I am wondering what the
I think there is no sense to make an API call before user stopped typing. So, you can put a delay, say, 500ms. When user stops typing, after 500ms you make an API call and show the results.
You can use a Handler
's postDelayed
method for scheduling search API calls. You can use Handler to control the message queue. You post a delayed Runnable
each time user types a character and cancel previous messages. It will look this way:
public void onTextChanged(CharSequence s, int start, int before, int count) {
handler.removeCallbacks(searchRunnable);
handler.postDelayed(searchRunnable, 500);
}