Open kunjanrshah opened 5 years ago
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.
how to set "search text" prorgrammatically in searchbar ?