Hello, help solve the problem, SearchView throws a nullPointerException. <i>
// Within which the entire activity is enclosed DrawerLayout mDrawerLayout; // ListView represents Navigation Drawer ListView mDrawerList; // ActionBarDrawerToggle indicates the presence of Navigation Drawer in the action bar ActionBarDrawerToggle mDrawerToggle; // Title of the action bar String mTitle=""; SearchView mSearchView; SearchManager searchManager; ListView mListView; private final String[] mStrings = {"Hello", "Andrey"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mListView = (ListView) findViewById(R.id.list_view); mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrings)); mListView.setTextFilterEnabled(true); mTitle = (String) getTitle(); // Getting reference to the DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout1); mDrawerList = (ListView) findViewById(R.id.left_drawer); // Getting reference to the ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle( this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close){ /** Called when drawer is closed */ public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); invalidateOptionsMenu(); } /** Called when a drawer is opened */ public void onDrawerOpened(View drawerView) { getActionBar().setTitle("Выбирите тему"); invalidateOptionsMenu(); } }; // Setting DrawerToggle on DrawerLayout mDrawerLayout.setDrawerListener(mDrawerToggle); // Creating an ArrayAdapter to add items to the listview mDrawerList ArrayAdapter<String> adapter = new ArrayAdapter<String>( getBaseContext(), R.layout.drawer_list_item , getResources().getStringArray(R.array.rivers) ); // Setting the adapter on mDrawerList mDrawerList.setAdapter(adapter); // Enabling Home button getActionBar().setHomeButtonEnabled(true); // Enabling Up navigation getActionBar().setDisplayHomeAsUpEnabled(true); // Setting item click listener for the listview mDrawerList mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Getting an array of rivers String[] rivers = getResources().getStringArray(R.array.rivers); //Currently selected river mTitle = rivers[position]; // Creating a fragment object Fragment rFragment=null; switch(position){ case 0: rFragment = new RiverFragment(); break; case 1: rFragment = new RiverFragment1(); break; } // Creating a Bundle object Bundle data = new Bundle(); // Setting the index of the currently selected item of mDrawerList data.putInt("position", position); // Setting the position to the fragment rFragment.setArguments(data); // Getting reference to the FragmentManager FragmentManager fragmentManager = getFragmentManager(); // Creating a fragment transaction FragmentTransaction ft = fragmentManager.beginTransaction(); // Adding a fragment to the fragment transaction ft.replace(R.id.content_frame, rFragment); // Committing the transaction ft.commit(); // Closing the drawer mDrawerLayout.closeDrawer(mDrawerList); } }); setupSearchView(); } public void setupSearchView() { mSearchView.setIconifiedByDefault(false); mSearchView.setOnQueryTextListener(this); mSearchView.setSubmitButtonEnabled(true); mSearchView.setQueryHint("Search Here"); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mDrawerToggle.syncState(); } /** Handling the touch event of app icon */ @Override public boolean onOptionsItemSelected(MenuItem item) { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); } /** Called whenever we call invalidateOptionsMenu() */ @Override public boolean onPrepareOptionsMenu(Menu menu) { // If the drawer is open, hide action items related to the content view boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); menu.findItem(R.id.action_settings).setVisible(!drawerOpen); return super.onPrepareOptionsMenu(menu); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); MenuItem searchItem = menu.findItem(R.id.menu_search); mSearchView= (SearchView) searchItem.getActionView(); return true; } @Override public boolean onQueryTextSubmit(String s) { //Toast.makeText(this, s, Toast.LENGTH_LONG).show(); return false; } @Override public boolean onQueryTextChange(String s) { if (TextUtils.isEmpty(s)) { mListView.clearTextFilter(); } else { mListView.setFilterText(s.toString()); } return true; } } </ i> The error itself:
Process: com.xpdev.discretmath, PID: 12087 java.lang.RuntimeException: Unable to start activity ComponentInfo {com.xpdev.discretmath / com.xpdev.discretmath.BaseActivity}: java.lang.NullPointerException at android.app.ActivityThread. performLaunchActivity (ActivityThread.java:2195) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2245) at android.app.ActivityThread.access $ 800 (ActivityThread.java:135) at android.app.ActivityThread $ H.handleMessage ( ActivityThread.java:1196) at android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:136) at android.app.ActivityThread.main (ActivityThread.java 11017 ) at java.lang.reflect.Method.invokeNative (Native Method) at java.lang.reflect.Method.invoke (Method.java.ln15) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java : 779) at com.android.internal.os.ZygoteInit.main (ZygoteInit.javament95) at dalvik.system.NativeStart.main (Native Method) Caused by: java.lang.NullPointerException a t com.xpdev.discretmath.BaseActivity.setupSearchView (BaseActivity.java:151) at com.xpdev.discretmath.BaseActivity.onCreate (BaseActivity.java:147) at android.app.Activity.performCreate (Activity.java 12.2323) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2159) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2245) at android.app.ActivityThread .access $ 800 (ActivityThread.java:135) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1196) at android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:136) at android.app.ActivityThread.main (ActivityThread.javaive017) at java.lang.reflect.Method.invokeNative (Native Method) at java.lang.reflect.Method.invoke (Method.java : 515) at com.android.internal.os.ZygoteInit $ MethodAndA rgsCaller.run (ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main (ZygoteInit.javaimin95) at dalvik.system.NativeStart.main (Native Method)