IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

java.lang.NullPointerException pour ArrayList


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Points : 88
    Points
    88
    Par défaut java.lang.NullPointerException pour ArrayList
    Bonjour,
    J'ai un problème avec un arraylist ayant pour valeur null. La console m'indique une erreur de java.lang.NullPointerException.
    Mon arraylist est vide la première fois,
    lISTE_CLIENT reçoit un null au niveau de LISTE_CLIENT=contact_client_BDD.Liste_clients();
    le toast s'affiche bien car lISTE_CLIENT != null

    Je relance la condition après une action de l'utilisateur, et là j'ai le message d'erreur cité au dessus, elle bloque à la première condition. Pourtant lISTE_CLIENT vaut null

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    System.out.println(lISTE_CLIENT);
    	    		if((lISTE_CLIENT.isEmpty()) || (lISTE_CLIENT == null)){
    	    			System.out.println("empty client");
    	    			 //Création d'une instance de ma classe ContactClient_BDD
    	    			ContactClient_BDD contact_client_BDD=new ContactClient_BDD(this);
    		    		ContactClient_BDD.open();
    		    		//reception des donnees clients
    		    		lISTE_CLIENT=contact_client_BDD.Liste_clients();
    		    		ContactClient_BDD.close();
    		    		//lISTE_CLIENT.removeAll(null);
    		    		if(lISTE_CLIENT != null){
    		    			setListAdapter( new Liste_Client_Adapter());
    		    	       } else {
    		    	        	Toast.makeText(this, "Aucun contact client", Toast.LENGTH_LONG).show();
     
    		    	        	System.out.println(lISTE_CLIENT);
     
    		    	        }
    }
    J'ai cherché, je pense que l'erreur vient du null, mais je n'arrive pas à trouver la solution.
    Merci pour votre aide

    cédric

  2. #2
    Membre actif
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Points : 261
    Points
    261
    Par défaut
    Salut,

    alors en fait je pense que j'ai capté ton problème ...
    C'est tout bête, tu appelle la fonction isEmpty() sur ta liste alors que celle-ci est null... ducoup ça plante.. pour que ça fonctionne il faudrait que tu regarde d'abord si elle est null et ensuite si elle est vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (lISTE_CLIENT == null){
       if(lISTE_CLIENT.isEmpty()){
          // To do
       }
    }
    Paye Tes Dettes - Applciation android.

    DevHackSecure - Pense bête d'un étudiant en informatique - Tutos DEV

    " I also realize that _everybody_ thinks that they are right, and that they are supported by all other right-thinking people. That's just how people work. We all think we're better than average." Linus Torvalds

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Points : 88
    Points
    88
    Par défaut
    ok, donc le fait de mettre la condition ou || ne fait pas bien sont boulo !! lol, étonnant.
    Je vous remercie

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Points : 88
    Points
    88
    Par défaut
    effectivement, cela fonction !!!


    Merci

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    L'opérateur OU fonctionne correctement. Si la première opérande est vérifiée (et donc vraie) il ne va pas tester les suivantes.
    Dans ton cas, tu as inversé les deux opérandes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(lISTE_CLIENT.isEmpty() || lISTE_CLIENT == null)
    Alors qu'il faut plutôt faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(lISTE_CLIENT == null || lISTE_CLIENT.isEmpty())

Discussions similaires

  1. Chercher solution pour l'exception: java.lang.NullPointerException
    Par noussa6 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 05/02/2015, 09h24
  2. Erreur "java.lang.NullPointerException" dans un ArrayList
    Par AmeniESC dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 21/03/2012, 00h12
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45
  5. java.lang.NullPointerException getparent()
    Par guano dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 17/03/2006, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo