Onquerytextlistenercompat Not Getting Triggered
I'm trying to make an app that uses SearchView compatible with devices running Android version 2.3 up to 4.4+. I currently have the following code inside an ActionBarActivity, whic
Solution 1:
I've solved this problem by not using SearchViewCompat I tested it's compatability from Gingerbread and to the latest version
in my search_menu.xml
<menuxmlns:android="http://schemas.android.com/apk/res/android"xmlns:yourapp="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools" ><itemandroid:id="@+id/menu_item_search"android:icon="@android:drawable/ic_menu_search"android:orderInCategory="1"android:title="@string/menu_search"yourapp:actionViewClass="android.support.v7.widget.SearchView"yourapp:showAsAction="always|collapseActionView"/></menu>
and in my Main.xml
publicclassMainextendsActionBarActivityimplementsOnQueryTextListener {
privateSearchView searchView;
privateSearchManager searchManager;
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
}
@OverridepublicbooleanonCreateOptionsMenu(final Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.search_menu, menu);
View view = MenuItemCompat.getActionView(menu.findItem(R.id.menu_item_filter));
searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
MenuItem searchItem = menu.findItem(R.id.menu_item_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setQueryHint("Search...");
searchView.setIconifiedByDefault(false);
searchView.setIconified(false);
searchView.setOnQueryTextListener(Main.this);
searchView.clearFocus();
returnsuper.onCreateOptionsMenu(menu);
}
publicbooleanonQueryTextChange(String val) {
if(!val.isEmpty()){
Log.e(""+val);
}
returnfalse;
}
@OverridepublicbooleanonQueryTextSubmit(String val) {
Log.e(""+val);
returnfalse;
}
}
Post a Comment for "Onquerytextlistenercompat Not Getting Triggered"