how to set "search text" prorgrammatically in searchbar?
kunjanrshah opened this issue · 2 comments
how to set "search text" prorgrammatically in searchbar ?
how to set "search text" prorgrammatically in searchbar ?
I guess you mean how to setup the searchView without clicking on the search icon?
searchContainerView = multiSearchView.findViewById(R.id.searchViewContainer);
imageViewSearch = multiSearchView.findViewById(R.id.imageViewSearch);
searchContainerView.setOnClickListener(view -> imageViewSearch.performClick());
searchContainerView.performClick()
A little , probably not best, workaround to perform a click programmatically to trigger the search text and editTextView to appear. - Somehow it didnt work for me to just call the imageViewSearch to perform a click. - I had to add a new onClickListener to the ContainerView, and make it trigger the imageViewSearch to trigger lol
thats what it actually triggers to start;
init {
binding.imageViewSearch.setOnClickListener {
if (binding.searchViewContainer.isInSearchMode().not()) {
binding.searchViewContainer.search()
} else {
binding.searchViewContainer.completeSearch()
}
}
}
to add to the previous answer, just use a handler to delay the thing by 100ms and it should work
use this code in MulitSearchView class
fun openSearchView()
{
Handler(Looper.getMainLooper()).postDelayed({ // This method will be executed once the timer is over
binding.searchViewContainer.setOnClickListener {
binding.imageViewSearch.performClick()
}
binding.searchViewContainer.performClick()
}, 200)
}
then call binding.multiSearchView.openSearchView() from your Activity
worked perfectly for me.