Reputation: 4510
I have a SearchView
. This is my code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
// Retrieve the SearchView and plug it into SearchManager
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setImeOptions(EditorInfo.IME_ACTION_NEXT);
searchView.setSubmitButtonEnabled(true);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("SEARCH");
}
});
return true;
}
Question 1 :
I am very curios about how can i use the
ImeOptions
that i have set because i cannot findsetOnEditorActionListener
likeEditText
. Is there a way of doing it same as we do inEditText
?
Question 2 :
If question 1 is not possible then i found some property called
searchView.setSubmitButtonEnabled(true);
can i get this button's click ? Some thing likesetOnSubmitListner
?? If not then in which sense or how the Submit can be used ??
Any suggestion Appreciable.
The motive is after typing the whole word the user will go on clicking submit button or imeNext for going to the Next word with KeyBoard not Closed..!!
Upvotes: 1
Views: 749
Reputation: 2127
you can do like this
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
searchMenuItem = menu.findItem(R.id.action_search);
searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
Log.i("TAG", "==>" + searchView.getQuery());
searchView.setMaxWidth(570);
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//searchView.setQuery("",false);
searchView.clearFocus();
adapter.getFilter().filter(query);
searchText(query);//method for search text in that you can write your logic
return true;
}
}); }
public void searchText(String text){//Write your logic here}
Upvotes: 2