Package Com.example.listviewloaddatademo;import Java.util.arraylist;import java.util.list;import Com.lidroid.xutils.view.annotation.viewinject;import com.lidroid.xutils.view.annotation.Event. Onclick;import android.os.bundle;import android.app.activity;import Android.util.log;import android.view.Menu; Import Android.view.view;import Android.widget.abslistview;import Android.widget.AbsListView.OnScrollListener; Import Android.widget.arrayadapter;import android.widget.listview;import android.widget.Toast; Public classMainactivity extends Activity implements onscrolllistener{@ViewInject (r.id.lv)PrivateListView LV; Privatearrayadapter<string> adapter =NULL; Privatelist<string> data =NULL;//Save Data//do you need to load more PrivateBoolean isload =false; intCount =1; @OnClick (r.id.lv) Public voidSA (View v) {} @Overrideprotected voidonCreate (Bundle savedinstancestate) {//TODO auto-generated Method Stubsuper.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); LV=(ListView) Findviewbyid (r.id.lv); Data=NewArraylist<string>(); InitData (""); Adapter=NewArrayadapter<string>(Getapplicationcontext (), r.layout.list_pager_item,data); Lv.setadapter (adapter); Lv.setonscrolllistener ( This); } //"" Local Data Web network data Private voidinitdata (String param) {//TODO auto-generated Method Stub for(intI=0;i< -; i++) {data.add (param+"Data"+i); } } //@Override Public voidOnscroll (Abslistview view,intFirstvisibleitem,intVisibleItemCount,intTotalitemcount) { //TODO auto-generated Method Stub//log.i ("AAA", "onscroll");LOG.I ("TAG","firstvisibleitem="+Firstvisibleitem); LOG.I ("TAG","visibleitemcount="+visibleitemcount); LOG.I ("TAG","totalitemcount="+totalitemcount); Isload= ((firstvisibleitem+visibleitemcount) = =totalitemcount); } /*(Non-javadoc) * * scroll_state_fling finger to make a throw action * scroll_state_idle stop scrolling * scroll_state_touch_scroll hand On the screen, the screen scrolls * @see android.widget.abslistview.onscrolllistener#onscrollstatechanged (android.widget.AbsListView, int ) */@Override Public voidOnscrollstatechanged (Abslistview view,intscrollstate) { //TODO auto-generated Method Stub//when the ListView scrolls to the bottom, and the ListView stops scrollingLOG.I ("TAG","onscrollstatechanged isload="+isload+", whether it is to stop scrolling:"+ (scrollstate==onscrolllistener.scroll_state_idle)); LOG.I ("TAG","scrollstate"+scrollstate); if(isload&&scrollstate==onscrolllistener.scroll_state_idle) {Toast.maketext (Getapplicationcontext (),"Start Loading Data",1). Show (); InitData ("Web"+count); Count++; Adapter.notifydatasetchanged (); }} @Override Publicboolean Oncreateoptionsmenu (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; }}
Pull-up loading page