嗨我是非常新的Android,在我的情况下,我有200条以上的记录,我必须在我的列表视图中显示所以它是burdon一次加载所有记录,这就是我要求server
{{ 1}}然后基于偏移值服务器发送记录然后我显示offset value
这个我写下面的代码,但records
还添加了我的duplicate records
我们如何解决?
我的代码非常清楚,我发送服务器链接也请帮帮我
ArrayList
答案 0 :(得分:0)
我也遇到同样的问题使用此代码。它会删除旧数据
protected void onPostExecute(String result) {
arrayList.clear();
System.out.println("Result is"+result);
if (result != null) {
try {
JSONArray array = new JSONArray(result);
for (int i = 0; i < array.length(); i++) {
arrayList.add(array.getJSONObject(i).getString("title"));
}
System.out.println("arry list count is====>"+arrayList.size());
adapter.notifyDataSetChanged();
offset++;
// offset = offset + 10;
loadingMore = false;
} catch (Exception e) {
e.printStackTrace();
}
} else {
lv.removeFooterView(pb);
}
}
修改代码
我检查你的代码。你的json数据有问题,
否则你的Java编码是完美的
你有20条记录
每次发送偏移数据1,2,3等
那个时候你删除偏移值记录。(例如:偏移3删除1-3记录)。
更改你的json编码它将完美。
答案 1 :(得分:0)
您需要添加一个条件。用你的方法替换这个方法。
protected void onPostExecute(String result) {
System.out.println("Result is"+result);
if (result != null) {
try {
if(arrayList.size>0)
{
arrayList.clear();
}
JSONArray array = new JSONArray(result);
for (int i = 0; i < array.length(); i++) {
arrayList.add(array.getJSONObject(i).getString("title"));
}
System.out.println("arry list count is====>"+arrayList.size());
adapter.notifyDataSetChanged();
offset++;
// offset = offset + 10;
loadingMore = false;
} catch (Exception e) {
e.printStackTrace();
}
} else {
lv.removeFooterView(pb);
}
}
}