2016-01-22 90 views
-2

我在上一条语句中获得NullPointerException。请帮助。ArrayList哈希表空指针异常

ArrayList<HashMap<String, String>> contactList; 
for(int i=0; i < jsonArray.length(); i++){ 
    JSONObject jsonObject = jsonArray.getJSONObject(i); 
    HashMap<String,String> contact = new HashMap<String,String>(); 
    contact.put(TAG_ID, jsonObject.optString("id").toString()); 
    contact.put(TAG_NAME,jsonObject.optString("name").toString()); 
    contact.put(TAG_EXT,jsonObject.optString("extension").toString()); 
    contactList.add(contact); 
} 
+6

的[什么是空指针异常,怎么解决呢?(http://stackoverflow.com/questions/可能的复制218384/what-is-null-pointer-exception-and-how-do-i-fix-it) –

回答

0

您必须初始化contactList `

ArrayList<HashMap<String, String>> contactList=new ArrayList<HashMap<String, String>>(); 
for(int i=0; i < jsonArray.length(); i++){ 
JSONObject jsonObject = jsonArray.getJSONObject(i); 
HashMap<String,String> contact = new HashMap<String,String>(); 
contact.put(TAG_ID, jsonObject.optString("id").toString()); 
contact.put(TAG_NAME,jsonObject.optString("name").toString()); 
contact.put(TAG_EXT,jsonObject.optString("extension").toString()); 
contactList.add(contact); 
}` 
0

你没有初始化contactList,就应该使用

ArrayList<HashMap<String, String>> contactList=new ArrayList<HashMap<String, String>>(); 
+0

它很有效。非常感谢。 – hushan

0

ArrayList中应首先iitialized之前被初始化。试试这个,

ArrayList<HashMap<String, String>> contactList; 
ArrayList<HashMap<String, String>> contactList=new ArrayList<HashMap<String, String>>(); 
for(int i=0; i < jsonArray.length(); i++){ 
JSONObject jsonObject = jsonArray.getJSONObject(i); 
HashMap<String,String> contact = new HashMap<String,String>(); 
contact.put(TAG_ID, jsonObject.optString("id").toString()); 
contact.put(TAG_NAME,jsonObject.optString("name").toString()); 
contact.put(TAG_EXT,jsonObject.optString("extension").toString()); 
contactList.add(contact); 
} 
1

你还没有初始化contactList。

ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();