前言
remove是在API level 19时加入的,在低版本调用时会出现错误。这里用反射实现了在低版本安卓上用的remove方法
代码
public void JSONArray_Remove(int index, JSONArray jsonArray) throws Exception{
if(index < 0)
return;
Field valuesField = JSONArray.class.getDeclaredField("values");
valuesField.setAccessible(true);
List<Object> values = (List<Object>)valuesField.get(jsonArray);
if(index >= values.size())
return;
values.remove(index);
}
建议
真正使用时建议判断下API level,如果>=19则调用新版本增加的remove,否则使用此方法