Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Errors:
- 07-26 17:33:07.043 13384-13384/myapp.searchviewbase E/AndroidRuntime: FATAL EXCEPTION: main
- Process: myapp.searchviewbase, PID: 13384
- java.lang.NullPointerException: Attempt to invoke interface method 'android.view.View android.view.MenuItem.getActionView()' on a null object reference
- at android.support.v4.view.MenuItemCompatHoneycomb.getActionView(MenuItemCompatHoneycomb.java:39)
- at android.support.v4.view.MenuItemCompat$HoneycombMenuVersionImpl.getActionView(MenuItemCompat.java:176)
- at android.support.v4.view.MenuItemCompat.getActionView(MenuItemCompat.java:325)
- at myapp.searchviewbase.MainActivity.onCreateOptionsMenu(MainActivity.java:32)
- at android.app.Activity.onCreatePanelMenu(Activity.java:2846)
- at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:358)
- at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
- at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:270)
- at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
- 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:739)
- at android.os.Handler.dispatchMessage(Handler.java:95)
- at android.os.Looper.loop(Looper.java:148)
- at android.app.ActivityThread.main(ActivityThread.java:5417)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
- AND
- java.lang.ClassCastException: android.support.v7.widget.SearchView cannot be cast to android.support.v4.view.ActionProvider
- at android.support.v7.view.SupportMenuInflater$MenuState.readItem(SupportMenuInflater.java:400)
- at android.support.v7.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:168)
- at android.support.v7.view.SupportMenuInflater.inflate(SupportMenuInflater.java:118)
- at us.roob.searchviewbase.MainActivity.onCreateOptionsMenu(MainActivity.java:30)
- at android.app.Activity.onCreatePanelMenu(Activity.java:2846)
- at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:358)
- at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
- at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:270)
- at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
- 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:739)
- at android.os.Handler.dispatchMessage(Handler.java:95)
- at android.os.Looper.loop(Looper.java:148)
- at android.app.ActivityThread.main(ActivityThread.java:5417)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- searchable.xml:
- <searchable xmlns:android="http://schemas.android.com/apk/res/android"
- android:label="@string/app_name"
- android:hint="Hint hint"
- />
- /////////////////////////////////////////////////////////////////////////////
- main_menu.xml:
- <menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- tools:context="myapp.searchviewbase.MainActivity">
- <item
- android:id="@+id/action_settings"
- android:title="@string/action_settings"
- android:orderInCategory="100"
- app:showAsAction="never" />
- <item android:id="@+id/action_search"
- android:title="Search Title"
- app:showAsAction="ifRoom|collapseActionView"
- app:actionProviderClass="android.support.v7.widget.SearchView"/>
- </menu>
- MainActivity.java:
- package myapp.searchviewbase;
- import android.app.SearchManager;
- import android.content.Context;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v4.view.MenuItemCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.SearchView;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- }
- @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 searchItem = menu.findItem(R.id.action_search);
- SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
- SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- // SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
- searchView.setSearchableInfo( searchManager.getSearchableInfo(getComponentName()) );
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement