listView.setonRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
Log.e(TAG, "---下拉刷新---");
new AsyncTask<Void, Void, Void>() {
protected Void doInBackground(Void... params) {
try {
mylineslistlist.clear();
mylinesorderlist.clear();
list.clear();
getMylines(0);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
adapter.notifyDataSetChanged();
listView.onRefreshComplete();
}
}.execute();
}
});
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(final AbsListView view,
int scrollState) {
listView.onScrollStateChanged(view, scrollState);
// 数据为空--不用继续下面代码了
if (list.size() == 0)
return;
// 判断是否滚动到底部
boolean scrollEnd = false;
try {
if (view.getPositionForView(loadingLayout) == view
.getLastVisiblePosition())
scrollEnd = true;
} catch (Exception e) {
scrollEnd = false;
}
if (scrollEnd) {
// 如果是自动加载,可以在这里放置异步加载数据的代码
Log.e("LOADMORE", "loading...");
if (currentPage < pageNum) {
// Log.e(TAG, "---currentPage is " + currentPage);
currentPage++;
// Log.e(TAG, "---currentPage is " + currentPage);
handler.postDelayed(new Runnable() {
@Override
public void run() {
// Log.d(TAG, "---loadData page is" +
// currentPage);
getMylines(currentPage);
// listView.setSelection(view
// .getLastVisiblePosition() - 1); // 设置选中项
// setLoadView("加载更多"); //恢复按钮文字
}
}, 1000);
} else {
listView.removeFooterView(loadingLayout);
}
}
}
mDataArrays.add(entity);
mAdapter.notifyDataSetChanged(); //及时通知listview更新
lv_info_contain.setSelection(mAdapter.getCount());
这些代码是将listview最新那条数据添在最后面,你可以修改下就能用。
listView.setSelection(0);是跳到第一项
你现在是要跳到第一项还是说他自动跳到了第一项?