2011-10-09 150 views
0

原諒我是Android新手和Java新手。我正在嘗試使用來自MySQL服務器的數據創建動態列表視圖。但是,有時查詢只返回一個結果。當我的適配器類將包含一個元素的JSONArray解析爲一個String數組時,我收到一個ArrayIndexOutOfBoundsException異常。如何避免在我的resultArray中使用空字符串來補償異常?我不想使用空字符串,因爲它仍然可以在列表視圖中選擇。解析JSON數組時解析Android:ArrayIndexOutOfBoundsException

解析代碼:

try 
    { 
     jArray = new JSONArray(result); 
     // Taking a peek at the contents 
     Log.e("log_tag", jArray.getJSONObject(0).getString(queryID)); 

     //For some reason if I don't do this 
     // I get ArrayIndexOutOfBoundsException. 
     if (jArray.length() == 1) 
     { 
      resultArray = new String[2]; 
      resultArray[1] = ""; 
     } 
     else  
      resultArray = new String[jArray.length()]; 
     for(int i = 0; i < jArray.length(); i++) 
     { 
      resultArray[i] = jArray.getJSONObject(i).getString(queryID);  
     } 
    } 

    catch(JSONException e) 
    { 
     throw new NullResultFromServerException("No results from server."); 
    } 
+1

請加堆棧跟蹤並提到在那裏你到底得到錯誤。 – MByD

回答

0
for(int i = 0; i < jArray.length(); i++) 
     { 
       String empty= jArray.getJSONObject(i).getString(queryID); 
       empty=empty.trim(); //this will remove the blank white space 
      if(!empty.equalsIgnoreCase("")) 
       resultArray[i] = empty; 
     }