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;
}