【发布时间】:2016-08-09 08:14:26
【问题描述】:
是否可以在不进行新查询的情况下将我的适配器重置为原始状态?
例如
我有JSONArray,我剪切了一些记录以显示在ListView 中选中,但我想重置数据并再次显示所有记录。这可能吗?
private JSONArray modifyJsonArray(JSONArray array, final Integer param) throws JSONException {
List<JSONObject> jsons = new ArrayList<JSONObject>();
for (int i = 0; i < array.length(); i++) {
Integer statusId = Integer.parseInt(array.getJSONObject(i).getString("statusId"));
if (statusId == param){
jsons.add(array.getJSONObject(i));
}
}
return new JSONArray(jsons);
}
private void selectStatus(JSONArray arr, Integer param) throws JSONException {
myArr= modifyJsonArray(arr, param);
adapter.notifyDataSetChanged();
}
我有一个带有所有 statusId 和选项“All”的微调器。选择全部后,我需要显示所有记录。我从简单的微调器中选择状态 ID,然后调用 selectStatus(myArr, statusId) 问题是当我从数组中删除记录时,我无法将其恢复。
【问题讨论】:
-
为此,您需要将主列表单独保存在一个变量中,并且过滤器应该应用于该变量的另一个副本,因此在重置时间您可以直接从主变量重置它。
-
你能展示任何示例代码吗?
-
在这里给我看你的代码,这样我只会帮你
-
@Vickyexpert 已发布。
标签: android arrays json listview android-adapter