2013-01-08 4 views
1

Je n'arrive pas à comprendre ce qui ne va pas dans mon code. Je reçois une erreur dans myAddressUniqueness. Je ne sais pas pourquoi.Avant je l'ai essayé avec le type de données de chaîne, mais j'ai eu la même erreur. Il dit java.null exception.Initialiser la valeur d'une liste

ArrayList<String> myAddressUniqueness = null; 
    String name = "hello"; 

    if (indexBody < 0 || !cursor.moveToFirst()) 
     return; 

    smsList.clear(); 

    do { 
     // int cursorPostion = cursor.getPosition(); 

     String address; 
     String msgStr = cursor.getString(indexBody); 
     String senderNumber = cursor.getString(indexAddr); 
     Log.d("Name : ", senderNumber); 
     // String name = cursor.getString(cursor 
     // .getColumnIndex(PhoneLookup.DISPLAY_NAME)); 
     // Log.d("Name : ",name); 

     if (name != null) { 
      address = name; 
     } else { 
      address = senderNumber; 
     } 
     Log.d("Address: ", address); 
     flag = 1; 
     //Log.e("Number: ", addressUniqueness.length + ""); 

     for (j = 0; j < myAddressUniqueness.size(); j++) { 
      if (myAddressUniqueness.contains(address)) { 
       flag = 0; 
       break; 
      } 

     } 

     if (flag == 1) { 
      myAddressUniqueness.add(new String(address)); 
      i++; 

      String str = "Sender: " + address + "\n"; 
      smsList.add(str); 

     } 

     // TODO Auto-generated catch block 

    } while (cursor.moveToNext()); 
+0

Pouvez-vous préciser, à quelle ligne vous obtenez l'exception NullPointerException? –

+0

problème résolu :). c'est une pensée stupide .. je n'ai pas initialiser l'arraylist – Developer

Répondre

0

Vous devez instancier myAddressUniqueness par myAddressUniqueness = new ArrayList<String>() avant de l'utiliser.

2

Changer votre déclaration

ArrayList<String> myAddressUniqueness = new ArrayList<String>();

Vous l'avez initialisé à null. Cela l'instanciera et vous pourrez y ajouter des données.

Questions connexes