2013-01-08 62 views
1

我無法理解我的代碼中出了什麼問題。我在myAddressUniqueness中收到錯誤。不知道爲什麼。在我用字符串數據類型嘗試它之前,卻得到了相同的錯誤。它說的是java.null異常。初始化數組列表的值

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

你能指出你在哪一行得到NullPointerException? –

+0

問題解決:)。這是一個愚蠢的想法..我還沒有初始化數組列表 – Developer

回答

0

你應該myAddressUniqueness = new ArrayList<String>()使用它之前實例myAddressUniqueness

2

你的宣言更改爲

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

你把它初始化爲null。這將實例化它,然後你可以添加數據。