在我的活动中,我有一个XML解析器,该解析器填充了自定义ListView
。当我向下滚动列表视图时,我希望活动再次调用使用新项目(通过AsyncTask
)解析xml的方法(我使用url方法(如“&page = 1”,“&page = 2'等)。
一切正常,但是当活动更新列表视图时,我松开了它的最后位置,列表视图返回顶部。
这是setOnScrollListener:
my_listview.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
final int lastItem = firstVisibleItem + visibleItemCount;
if(lastItem == totalItemCount)
{
new Connection().execute();
}
}
});
还有调用异步任务以调用xml解析器的方法:
public class Connection extends AsyncTask<Void, Void, ArrayList<String>> {
@Override
protected ArrayList<String> doInBackground(Void... voids) {
executeUrlXML(); //xml parser
return null;
}
@Override
protected void onPostExecute(ArrayList<String> result) {
super.onPostExecute(result);
my_listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}