8
votes

ACTIVITÉ ONNEWINTENT NULL POINTER EXCEPTION

J'initialise mes listes dans mon activité Oncreee () comme ci-dessous:

 @Override
   protected void onNewIntent(Intent intent) {
      super.onNewIntent(intent);
      filtered.clear();
   }


5 commentaires

Postez votre logcat si vous rencontrez un nullpointException ! Comme ça, je suppose que filtré est null dans onNewintent () ...


@savepopulation a la réponse acceptée vous a aidé de quelque manière que ce soit? J'ai un problème similaire et je ne suis pas en mesure de reproduire le problème. Ne peut voir que des grumes de tissu des crashs :(


Désolé j'ai quitté le projet que j'ai ce problème, je ne peux donc pas voir ce qui se passe avec des outils de construction 25.0.2 en production. J'ai fait quelques recherches sur cette question et, selon ce que j'ai trouvé, j'ai décidé d'accepter la réponse de @ MR-Ide.


Je pense que cela se produit lorsque vous définissez un mode de lancement -Except Standart- à votre activité et lorsque vous finissez, essayez de recommencer. C'est donc raisonnable de vérifier s'il s'agit d'une finition. J'espère que cela vous aidera.


OK merci. C'était utile.


3 Réponses :


0
votes

Si vous obtenez nullpointeException code> dans onNewintent () code> méthode probablement filtré code> objet est null.

essayez de cette façon p >

@Override
protected void onNewIntent(Intent intent) {

   //Check for null value and then proceed. 
   if(filtered != null)
      filtered.clear();
} 


3 commentaires

Merci pour votre aide mais mon code est plus compliqué que cela. Donc, si le chèque ne convient pas.


@savepopulation Veuillez poster votre code. Nous pouvons donc vous aider là-bas.


Je ne peux pas poster de cause à la vie privée. Je suis désolé. :(



1
votes

Gardez le cycle de vie à l'esprit, peut-être que vous retournez à votre activité à partir d'un point où Oncreate () n'est pas appelé (par exemple, si vous avez défini LaunleMode = SingleSk ou quelque chose dans votre manifeste). Peut-être initialiser / repeupler votre arraylist à Onresume () et également vérifier si ce n'est pas NULL, SUR CV () est appelé à votre retour lorsque vous revenez à votre activité.


5 commentaires

Mon activité LaunchMode est une tâche unique. Dans quel type de situations il peut être possible une nouvelle intention est-elle appelée sans oncreate? Pouvez-vous donner un exemple? Merci.


f.-e. Si vous souhaitez passer à une autre activité et revenir à votre activité SingleSksk, onNewintent () est appelée et oncreate () n'est pas appelée


c'est correct mais oncreate sera appelé si une activité de tâche unique est détruite. Si ce n'est pas détruit, mes listes ne seront pas nulles. N'est-ce pas vrai?


Eh bien, votre arraylist ne devrait peut-être pas être nulle, mais cela est évidemment, vous devez donc fournir plus de code ou mieux faire de vous déboguer pour trouver sur quel point l'arraylist devient NULL. Que voulez-vous dire avec 'Oncreate sera appelé si une activité de tâche unique est détruite'?


Je ne peux pas attraper comment cette erreur se produit. C'est le problème. Et je reçois des journaux de tissu. Je reçois cette erreur dans la production.



2
votes

L'équipe sur Open Whisper Systems a rencontré le même problème:

HTTPS: / /Github.com/whispersysystems/signal-android/issues/2971 p>

Ils pensent que c'est causé par l'appelant Android Calling OnNewIntent () Code> Très peu après onecreate () code>, même si vous appelez Terminer () code> à partir de votre Oncreate () code>. Cela provoque éventuellement des causes NULL code> utilisés dans OnNeWinTent () code>, puis nullpointeException code>, car les objets n'ont pas été mis en place dans le code habituel > Oncreate () code>. Il semble s'agir d'un scénario rare ou d'une condition de course entre oncreate () code> et onNewintent () code>. P>

Ils semblent l'avoir corrigé en vérifiant Isfinissant () Code> Dans OnNewinTent () Code> Pour empêcher OnNewIntent () Code> de continuer: P>

buildToolsVersion '25.0.2'


2 commentaires

À propos de votre 10 nov. Mise à jour 2017, pourquoi supposez-vous cela? Je pense que cela peut être lié à la version AppCompat plus que la version de construction des outils 🤔, pas?


@crgarridos, via la surveillance et l'analyse de l'application, on peut voir que la mise à jour de la version de construction des outils réduit le nombre de fois que ce bogue se produit d'une grande quantité. Mais cela ne le répare pas à 100%.