2017-05-06 6 views
1

Ich habe ein Fragment, das den folgenden Code enthält:Nullpointer nur in signierten APK

SearchView searchView; 

    @Override 
    public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.searchship, menu); 

     MenuItem searchItem = menu.findItem(R.id.action_search); 

     searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
     searchView.setOnSearchClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        menu.findItem(R.id.action_sort).setVisible(false); 

      } 
     }); 

Wenn ich das von Android Studio laufen dann ist alles in Ordnung. Aber jeder, der die App aus dem Plays Downloads stürzt:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setOnSearchClickListener(android.view.View$OnClickListener)' on a null object reference 
+0

Hast du ProGuard verwenden ? Hast du deine Release-Version getestet? (Außerdem: Jede App ist "signiert" oder du konntest sie nicht installieren) –

+0

Ja, das ist was ich meinte, wenn es verschleiert ist, funktioniert es nicht. – JDoeKnought

Antwort

1

Hier ist, was ich gefunden:

Ich muss hinzufügen

-keep class android.support.v7.widget.SearchView { *; } 

proguard.pro

Verwandte Themen