2017-05-06 2 views
1

J'ai un fragment qui contient le code suivant:NullPointerException seulement signé 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); 

      } 
     }); 

Si je lance ce billet depuis alors tout est Android Studio bien. Mais tout le monde qui télécharge l'application de la Playstore plante:

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

Avez-vous utilisé ProGuard ? Avez-vous testé votre version de sortie? (Aussi: Chaque application est "signée" ou vous ne pouvez pas l'installer) –

+0

Ouais c'est ce que je voulais dire, si elle est obscurcie cela ne fonctionne pas. – JDoeKnought

Répondre

1

Voici ce que je trouve:

Je dois ajouter

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

à proguard.pro