title: Can't get SearchView in actionbar to work
body: <p>I have tried a lot of tutorials, stackoverflow solutions, and the google tutorial -> <a href="https://www.youtube.com/watch?v=9OWmnYPX1uc" rel="nofollow noreferrer">https://www.youtube.com/watch?v=9OWmnYPX1uc</a> but I can't get the searchview in my actionbar to work.</p>
  
  <p>does anyone sees what I am doing wrong?</p>
  
  <p>I Always get a nullpointerexception on the searchView</p>
  
  <p><strong>My Activity with the listview:</strong></p>
  
  <pre><code>@Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.list_menu, menu);
      MenuItem searchItem = menu.findItem(R.id.action_search);
      SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
      searchView.setOnQueryTextListener(
              new SearchView.OnQueryTextListener() {
                  @Override
                  public boolean onQueryTextSubmit(String query) {
                      Toast.makeText(ContactListActivity.this, query, Toast.LENGTH_SHORT).show();
                      return false;
                  }
  
                  @Override
                  public boolean onQueryTextChange(String newText) {
                      Toast.makeText(ContactListActivity.this, newText, Toast.LENGTH_SHORT).show();
                      return false;
                  }
              }
      );
  
      SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
      ComponentName componentName = new ComponentName(getApplicationContext(), TorrentListActivity.class);
      searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName));
      return true;
  }
  </code></pre>
  
  <p><strong>Searchable.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;searchable
      android:label="@string/app_name"
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:hint="Search"
      android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"/&gt;
  </code></pre>
  
  <p><strong>list_menu.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;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="be.vanlooverenkoen.torrentsearch.TorrentListActivity"&gt;
  
      &lt;item
          android:id="@+id/action_search"
          android:title="Search"
          android:icon="@drawable/ic_action_search"
          app:showAsAction="ifRoom|collapseActionView"
          android:actionViewClass="android.support.v7.widget.SearchView"/&gt;
  
      &lt;item
          android:id="@+id/action_settings"
          android:orderInCategory="100"
          android:title="@string/menu_settings"
          app:showAsAction="never" /&gt;
  &lt;/menu&gt;
  </code></pre>
  
  <p><strong>EDIT 1</strong></p>
  
  <p><a href="https://i.stack.imgur.com/55oHc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/55oHc.png" alt="enter image description here"></a>
  I wan't the suggestions on 1 Activity but on another activity I need to filter the list of my listview</p>
  
  <p>**EDIT 2 **</p>
  
  <pre><code>import android.content.Context;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.ImageView;
  import android.widget.TextView;
  import java.util.LinkedList;
  import be.vanlooverenkoen.torrentsearch.CommonUtilities.CommonUtilities;
  import be.vanlooverenkoen.torrentsearch.model.Torrent;
  /**
   * Created by Koen on 19/03/2016.
   */
  public class TorrentListAdapter extends BaseAdapter {
      private LinkedList&lt;Torrent&gt; torrents;
      private LayoutInflater layoutInflater;
      public TorrentListAdapter(Context context, LinkedList&lt;Torrent&gt; torrents) {
          this.torrents = torrents;
          layoutInflater = LayoutInflater.from(context);
      }
      @Override
      public int getCount() {
          return torrents.size();
      }
      @Override
      public Object getItem(int position) {
          return torrents.get(position);
      }
      @Override
      public long getItemId(int position) {
          return position;
      }
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          ViewHolder holder;
          if (convertView == null) {
              convertView = layoutInflater.inflate(R.layout.list_row_layout, null);
              holder = new ViewHolder();
              holder.titleView = (TextView) convertView.findViewById(R.id.txt_title);
              holder.seedView = (TextView) convertView.findViewById(R.id.txt_seedsValue);
              holder.peerView = (TextView) convertView.findViewById(R.id.txt_peersValue);
              holder.sizeView = (TextView) convertView.findViewById(R.id.txt_sizeValue);
              holder.dateView = (TextView) convertView.findViewById(R.id.txt_datevalue);
              holder.torrentTypeTitleView = (TextView) convertView.findViewById(R.id.torrenttypetitle);
              holder.torrentTypeView = (TextView) convertView.findViewById(R.id.torrentTypeView);
              holder.verifiedImg = (ImageView) convertView.findViewById(R.id.verified);
              convertView.setTag(holder);
          } else {
              holder = (ViewHolder) convertView.getTag();
          }
          Torrent torrent = torrents.get(position);
          holder.titleView.setText(torrent.getTitle());
          Log.d("Seeds", String.valueOf(holder.titleView.getText()));
          holder.seedView.setText(String.valueOf(torrent.getSeeds()));
          holder.peerView.setText(String.valueOf(torrent.getPeers()));
          holder.sizeView.setText(torrent.getSize());
          holder.dateView.setText(torrent.getDateOfRelease());
          if(CommonUtilities.checkForShowTorrentType(layoutInflater.getContext())){
              holder.torrentTypeView.setText(torrent.getTorrentType());
              holder.torrentTypeTitleView.setText("Torrent Type:");
          }else{
              holder.torrentTypeView.setText("");
              holder.torrentTypeTitleView.setText("");
          }
          if (torrent.isLegitUploader()) {
              holder.verifiedImg.setImageResource(R.drawable.verified);
          }else{
              holder.verifiedImg.setImageDrawable(null);
          }
          return convertView;
      }
      static class ViewHolder {
          TextView titleView;
          TextView seedView;
          TextView peerView;
          TextView sizeView;
          TextView dateView;
          TextView torrentTypeTitleView;
          TextView torrentTypeView;
          ImageView verifiedImg;
      }
  }
  </code></pre>
  
  <p><strong>EDIT 3</strong></p>
  
  <pre><code>FATAL EXCEPTION: main
                                                                                    Process: be.vanlooverenkoen.torrentsearch, PID: 10509
                                                                                    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchView$OnQueryTextListener)' on a null object reference
                                                                                        at be.vanlooverenkoen.torrentsearch.TorrentListActivity.onCreateOptionsMenu(TorrentListActivity.java:105)
                                                                                        at android.app.Activity.onCreatePanelMenu(Activity.java:2852)
                                                                                        at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:298)
                                                                                        at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:85)
                                                                                        at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:241)
                                                                                        at android.support.v7.app.AppCompatDelegateImplV7.preparePanel(AppCompatDelegateImplV7.java:1273)
                                                                                        at android.support.v7.app.AppCompatDelegateImplV7.doInvalidatePanelMenu(AppCompatDelegateImplV7.java:1553)
                                                                                        at android.support.v7.app.AppCompatDelegateImplV7.access$100(AppCompatDelegateImplV7.java:89)
                                                                                        at android.support.v7.app.AppCompatDelegateImplV7$1.run(AppCompatDelegateImplV7.java:129)
                                                                                        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:5422)
                                                                                        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)
  </code></pre>
  
  <p><strong>SOLUTION</strong></p>
  
  <p>OMG
  android:actionViewClass="android.support.v7.widget.SearchView"
  must be
  app:actionViewClass="android.support.v7.widget.SearchView"</p>
  
  <p>and then poof it works</p>