【发布时间】:2015-04-29 08:18:51
【问题描述】:
我想使用下面的代码获取新数据并将其更新到我的 listView 中, 我想要的是当我滚动到 listView 的底部时,它会自动更新并将新数据添加到列表中。
例如:像facebook一样,只在底部添加新数据而不滚动并保持当前位置
但我最终遇到了一些问题。 有哪些
1) 列表视图已更新,但它滚动回顶部。
listview .setOnScrollListener(new OnScrollListener() {
private int currentVisibleItemCount;
private int currentScrollState;
private int currentFirstVisibleItem;
private int totalItem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
this.totalItem = totalItemCount;
}
private void isScrollCompleted() {
if (totalItem - currentFirstVisibleItem == currentVisibleItemCount
&& this.currentScrollState == SCROLL_STATE_IDLE) {
Log.d("this is", "the end");
page = page + 1;
call_function(page);
}
}
});
....
....
public void call_function(int page_number) {
...
...
ListAdapter adapter = new SimpleAdapter(
getActivity(), user_List,
R.layout.user, new String[] {"user","date"},
new int[] {R.id.usr_name ,R.id.register_time});
// updating listview
setListAdapter(adapter);
}
有什么办法可以处理这个异常吗??
提前致谢。
【问题讨论】:
标签: android android-listview android-adapter onscrolllistener