原谅我是Android的新手,也是Java的新手。我正在尝试使用来自MySQL服务器的数据创建动态列表视图。但是,有时查询只返回一个结果。当我的适配器类将一个元素的JSONArray解析为String数组时,我收到一个ArrayIndexOutOfBoundsException。如何避免在resultArray中使用空字符串来补偿异常?我不想使用空字符串,因为它仍然可以在列表视图中选择。
解析代码:
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.");
}
答案 0 :(得分: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;
}