android分段加载_ListView 分段加载更新实例

private voidinitActivity() {//TODO Auto-generated method stub

loadMoreView = getLayoutInflater().inflate(R.layout.loadmore, null);

loadmore_btn=(Button) loadMoreView.findViewById(R.id.loadmore_btn);

loadmore_btn.setOnClickListener(newOnClickListener() {

@Overridepublic voidonClick(View v) {//TODO Auto-generated method stub

doUpdate();

}

});

listView=(ListView) findViewById(R.id.listView);

listView.addFooterView(loadMoreView);

initAdapter();

listView.setAdapter(adapter);

listView.setOnScrollListener(newOnScrollListener() {

@Overridepublic void onScrollStateChanged(AbsListView view, intscrollState) {//TODO Auto-generated method stub

int itemsLastIndex = adapter.getCount() - 1;int lastIndex = itemsLastIndex + 1;if (scrollState ==OnScrollListener.SCROLL_STATE_IDLE&& visibleLast ==lastIndex) {//可在这添加滑到列表底的时候异步自动加载//doUpdate();

}

}

@Overridepublic void onScroll(AbsListView view, intfirstVisibleItem,int visibleItemCount, inttotalItemCount) {//TODO Auto-generated method stub

visibleCount =visibleItemCount;

visibleLast= firstVisibleItem + visibleItemCount - 1;

}

});

}protected voiddoUpdate() {//TODO Auto-generated method stub

loadmore_btn.setText("loading ...");

handler.postDelayed(newRunnable() {

@Overridepublic voidrun() {//TODO Auto-generated method stub

loadData();

adapter.notifyDataSetChanged();//通知adapter数据变化

listView.setSelection(visibleLast - visibleCount + 1);

loadmore_btn.setText("Load More");

}

},2000);

}private voidloadData() {//TODO Auto-generated method stub

int count =adapter.getCount();for (int i = count; i < count + 10; i++) {

adapter.addItem(String.valueOf(i+ 1));

}

}private voidinitAdapter() {//TODO Auto-generated method stub

List items = new ArrayList();for (int i = 0; i < 10; i++) {

items.add(String.valueOf(i+ 1));

}

adapter= new ListAdapter(this, items);

}

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);return true;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值