I am trying to reset my ListView after hitting the back button on the searchView. However, my app crashes as it opens. The line below /***/ is where it crashes in debug mode. I also posted the stack trace below.
I even do what the stacktrace tells me to do, replace the line with MenuItemCompat.setOnActionExpandListener() however it android studio says its deprecated and I get the same stack trace.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.add_search_menu, menu);
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
MenuItem searchItem = menu.findItem(R.id.action_search);
/****************************************************************************/
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item)
{
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
listView.setAdapter(new ArrayAdapter<String>(Food.this, R.layout.food_list, foodNames));
searchListStartPos=0;
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
Stack trace:
FATAL EXCEPTION: main Process: firstdynamic.iberacha, PID: 8520 java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:745)
at firstdynamic.iberacha.Food.onCreateOptionsMenu(Food.java:87)
at android.app.Activity.onCreatePanelMenu(Activity.java:3373)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:320)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:95)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:333)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:95)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)