標籤:listview android適配器 android開發 遊響雲停工作室
Android中的ListView 可以上下滑動,並且上下活動可以分頁載入資料,這一節我們看下ListView的滾動事件.
ListView的滾動事件主要通過setOnScrollListener監聽器來實現,主要包括兩個方法onScroll和onScrollStateChanged方法,onScrollStateChanged主要用來監聽滾動狀態
在滑動過程中向ListView添加資料 ,ListView滾動的時候主要有三個狀態,SCROLL_STATE_TOUCH_SCROLL ,SCROLL_STATE_FLING,SCROLL_STATE_IDLE
lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0,View arg1, int arg2, long arg3) { TextView tname= (TextView)arg1.findViewById(R.id.tvname);//名稱 TextView tmodel= (TextView)arg1.findViewById(R.id.tvmodel);//規格 TextView tprice= (TextView)arg1.findViewById(R.id.tvprice);//單價 TextView tcode= (TextView)arg1.findViewById(R.id.tvcode);//編碼 Toast.makeText(getApplicationContext(),"當前商品 名稱:"+tname.getText()+",編碼:"+tcode.getText(),30).show(); } }); lv.setOnScrollListener(new OnScrollListener(){@Overridepublic void onScroll(AbsListView arg0, int arg1, int arg2,int arg3) {// TODO Auto-generated method stub}@Overridepublic void onScrollStateChanged(AbsListView arg0, int arg1) {// TODO Auto-generated method stub 滾動狀態監聽器if(arg1==AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL){//手指沒有離開螢幕,正在滑動Toast.makeText(getApplicationContext(),"手指沒有離開螢幕,正在滑動",30).show(); Map<String,Object> map=new HashMap<String,Object>(); map.put("code","編碼:10"); map.put("name","名稱:Ipad"); map.put("price","價格:22"); map.put("model","單位:22"); mapList.add(map); //adp.notifyDataSetChanged(); SimpleAdapter sAdapter = (SimpleAdapter)lv.getAdapter(); sAdapter.notifyDataSetChanged(); }else if(arg1==AbsListView.OnScrollListener.SCROLL_STATE_FLING){//手指離開螢幕之前,用力滑動了一下Toast.makeText(getApplicationContext(),"手指離開螢幕之前,用力滑動了一下",30).show(); }else if(arg1==AbsListView.OnScrollListener.SCROLL_STATE_IDLE){ //停止滑動Toast.makeText(getApplicationContext(),"停止滑動",30).show(); }} });
.Net程式員玩轉Android開發---(15)ListView滾動事件