Sorry to bother the community. But can I get a pointer here? I am new to programming and just learning.
I added SearchView to my toolbar, like so.
<item
android:id="@+id/search"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always" />
Then I am trying to capture the "ENTER" key from the keyboard or softkeypad for when someone is typing into the SearchView to make it "//do something"
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem item = menu.findItem(R.id.search);
SearchView searchView = (SearchView) item.getActionView();
searchView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_ENTER:
//do something
//do something
//do something
return true;
default:
break;
}
}
return false;
}
});
return MainActivity.super.onCreateOptionsMenu(menu);
}
But my "//do something" never triggers. Can I get some help please?
You can try below code
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
//Log.e("onQueryTextChange", "==called");
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
// Do something
return false;
}
});
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments