永发信息网

ionic 上拉刷新为什么自动触发

答案:1  悬赏:80  手机版
解决时间 2021-01-14 21:51
ionic 上拉刷新为什么自动触发
最佳答案
注意事项:1、XListView因为添加了Header,会导致存储的数据+1,所以赋值时需要position-1。补充:当去掉HeaderView时,position不用-1。2、提个建议:上拉加载,最好在onCreate()中就执行setAdapter,然后不论是空数据、还是有数据,只用更新适配器就行了。一、XListView1、下载gitHub的地址。或者从这儿下。2、用法导入图中的me.maxwin.view包提供了两个接口:IXListViewListener:触发下拉刷新,上拉加载。实现此接口时,onLoadMore()用来上拉加载,onRefresh()用来下拉刷新。OnXScrollListener:和原生的OnScrollListener一样,但是在header/footer回滚时也会触发。几个常用方法:setPullRefreshEnable(booleanenable):是否允许下拉刷新setPullLoadEnable(booleanenable):是否允许上拉加载stopRefresh():停止刷新,重置headerviewstopLoadMore():停止加载,重置footerview请求到数据后停止刷新停止加载。setRefreshTime(Stringtime):设置上次刷新的时间onLoadMore():加载时调用的方法。注意第一次进入时不会调用此方法。onRefresh():下拉刷新时调用的方法。3、代码中怎么体现1)实现IXListViewListener接口->2)实现上拉刷新和下拉加载的数据变更->3)更新headerview和footerview,并设置更新时间。[java]viewplaincopy//1、实现IXListViewListener接口mListView.setXListViewListener(this);//2.1onRefresh中实现下拉刷新的数据加载@OverridepublicvoidonRefresh(){//请求数据//更新界面显示[java]viewplaincopyonLoad();}//2.2onLoadMore中实现上拉加载的数据加载[java]viewplaincopy@OverridepublicvoidonLoadMore(){//请求数据//更新界面显示[java]viewplaincopyonLoad();}//3、加载完数据后,复位headerview和footerview,并设置更新的时间。[java]viewplaincopyprivatevoidonLoad(){mListView.stopRefresh();mListView.stopLoadMore();mListView.setRefreshTime("刚刚");}4、xml注意事项当将XListView嵌入到LinearLayout中时,XListView占满全屏时不能再加载。上错误代码:[java]viewplaincopy5、去ScrollView共用这种情况,重写XListView会导致上拉加载时频繁的报错:适配器未更新,不知道咋解决。二、PullToRefresh大部分内容转自鸿洋的博客:这里写上拉加载的任务newGetDataTask().execute();}});3、属性介绍1)ptr:ptrMode="both"支持上拉加载和下拉刷新。disabled禁用下拉刷新和上拉加载。pullFromEnd仅支持上拉加载。manualOnly只允许手动触发。当然通过代码也可设置:lv.setMode(Mode.BOTH);2)ptr:trAnimationflip:翻转动画;rotate:旋转动画。3)ptr:ptrDrawable="@drawable/ic_launcher"设置图标4)ptrScrollingWhileRefreshingEnabled刷新的时候,是否允许ListView或GridView滚动。觉得为true比较好。5)ptrListViewExtrasEnabled决定了Header,Footer以何种方式加入mPullRefreshListView,true为headView方式加入,就是滚动时刷新头部会一起滚动。4、自定义下拉指示器文本内容等效果:在初始化完成PullToRefreshListView后,通过lv.getLoadingLayoutProxy()可得到一个ILoadingLayout对象,这个对象可设置各种指示器中的样式、文本等。[java]viewplaincopyILoadingLayoutstartLabels=mPullRefreshListView.getLoadingLayoutProxy();startLabels.setPullLabel("你可劲拉,拉");//刚下拉时,显示的提示startLabels.setRefreshingLabel("好嘞,正在刷新");//刷新时startLabels.setReleaseLabel("你敢放,我就敢刷新");//下来达到一定距离时,显示的提示默认是上拉和下拉的字同时改变的,如果希望单独改变呢:[java]viewplaincopyprivatevoidinitIndicator(){ILoadingLayoutstartLabels=mPullRefreshListView.getLoadingLayoutProxy(true,false);startLabels.setPullLabel("你可劲拉,拉");//刚下拉时,显示的提示startLabels.setRefreshingLabel("好嘞,正在刷新");//刷新时startLabels.setReleaseLabel("你敢放,我就敢刷新");//下来达到一定距离时,显示的提示ILoadingLayoutendLabels=mPullRefreshListView.getLoadingLayoutProxy(false,true);endLabels.setPullLabel("你可劲拉,拉2");//刚下拉时,显示的提示endLabels.setRefreshingLabel("好嘞,正在刷新2");//刷新时endLabels.setReleaseLabel("你敢放,我就敢刷新2");//下来达到一定距离时,显示的提示}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
CAD画PL连续线段无论用哪个图层画,线宽都显
Win10 1709更新了什么?Win10秋季创意者更新
杜辉轮胎服务部地址在哪,我要去那里办事,
stardom hollywood 明星志愿 好莱坞 攻略 如
申请不在学校住的申请书怎样写
什么牌子的雨衣质量比较好的,我要耐酸耐碱耐
但丁和维吉尔到底哪个更强啊?好多人都说维吉
气功出现偏差会产生什么后果?
不用外加试剂,就能实现鉴别的是(1)Al(NO3)
中国古代史是从什么时候开始什么时候结束?有
有一筐桃子连篮重49千克,卖出这啦。卖出这篮
二两的小瓶郎酒 一瓶多少钱
几分几秒怎么用符号表示??在电脑里怎么输入
我每天上半天班下午不知道干嘛
富锦市和俄罗斯近吗
推荐资讯
AMDA8 7500CPU 参数为什么会认到AMDA8 5500的
小朋3小时走了58千米,小刚4小时走了73千米,他
网上哪家购物网站好,推荐下
如果想参加成人考试,选择大圆集团考前培训有
弱者和强者的英文单词怎么写
万宁到成都多少公里
宜昌东站一咸宁北有直达车吗?
我的天语V9无限重启、开机3秒钟就自动重启,
朋友推荐一款蓉姐的盛美时代Vika小圈圈代餐饼
8分之5乘以4.8等于?
煤矿井下防突问题
青岛航空副总裁唐焕光因什么事被华东局处分后
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?