I\'ve been following along with the directions here for both SearchView and dialog implementations. Both are visible below. There are many questions on SO that focus on customiz
You should create an activity for search results and write a layout xml file where listview or recyclerview fill width using match_parent value. Content must be search results in adapter.
This is how you can do it:
Just create a layout with a RecyclerView
or an expandable list or list whichever you want to use.
In you activity (CityActivity
) you need to do this:
private static class SearchHandler extends Handler {
private WeakReference<CityActivity> mTarget;
SearchHandler(CityActivity target) {
mTarget = new WeakReference<>(target);
}
public void setTarget(CityActivity target) {
mTarget.clear();
mTarget = new WeakReference<>(target);
}
@Override
public void handleMessage(final Message msg) {
if (msg.what == CityActivity.TRIGGER_SEARCH) {
CityActivity activity = mTarget.get();
activity.makeRequest(mSearchText.trim());
}
}
}
TextChangeListener
on your searchEditText
: public void setTextChangeListener() {
searchView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mSearchText = searchView.getText().toString();
if (!mSearchText.trim().isEmpty()) {
handler.removeMessages(CitySelectionActivity.TRIGGER_SEARCH);
handler.sendEmptyMessageDelayed(CityActivity.TRIGGER_SEARCH,
CityActivity.SEARCH_TRIGGER_DELAY_IN_MS);
} else {
suggestList.clear();
fillAnything();
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
Here suggestList
is the data that is given to your list of
Here is the the repository which picks the place from google address search. It has implementation of full screen search list.
Customized Searchview