2017-05-26 2 views
0

Ich habe diese search_widget.xml auf Server als Suche in einem Fragment:Suche Versuch virtuelle Methode auf NULL-Verweis aufrufen

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:compat="http://schemas.android.com/apk/res-auto" 
     xmlns:app="http://schemas.android.com/tools"> 
    <item android:id="@+id/search_questions" 
      android:title="Search" 
      android:icon="@drawable/search" 
      compat:showAsAction="always" 
      app:actionViewClass="android.support.v7.widget.SearchView"/> 
</menu> 

Jetzt in meinem Fragment Ich habe diesen Code unten:

@Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, 
          @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.search_activity_layout, container, false); 
     listView = (ListView) rootView.findViewById(R.id.search_list_view); 
     spinner = (ProgressBar) rootView.findViewById(R.id.progressBar); 
     spinner.setVisibility(View.GONE); 
     setHasOptionsMenu(true); 
     return rootView; 
    } 

    @Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.search_widget, menu); 
     MenuItem item = menu.findItem(R.id.search_questions); 
     SearchView searchView = (SearchView) item.getActionView(); 

     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       retrieveIdsOfDocuments(query); 
       return true; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 
       return false; 
      } 
     }); 
     super.onCreateOptionsMenu(menu, inflater); 
    } 

In den obigen Code bekomme ich einen Fehler in der Zeile searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { mit der Angabe, dass Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchView$OnQueryTextListener)' on a null object reference.

Ich habe versucht, andere stackoverflow Beiträge eines Menüs in einem Fragment zu suchen, aber habe keine Lösung, die funktioniert.

+0

Bitte geben Sie die anderen Beiträge, die Sie gefunden haben, die nicht funktionieren, so dass andere nicht geben ähnliche Antworten dieses –

+0

versuchen, https://stackoverflow.com/questions/14286768/getactionview-of-my-meniteit-return-null – sijeesh

Antwort

2

Aktualisiert Antwort:

In Ihrem search_widget.xml die xmlns: App-Namensraum ist falsch. Verpasste das vorher. Versuchen Sie es auf die folgende Einstellung:

xmlns:app="http://schemas.android.com/apk/res-auto" 
+0

DANKE SO VIEL !!!! – CapturedTree

Verwandte Themen