最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android開發(fā)中下拉刷新如何實現(xiàn)

 更新時間:2016年07月10日 15:21:44   投稿:lijiao  
這篇文章主要為大家詳細介紹了Android開發(fā)中下拉刷新的實現(xiàn)方法,感興趣的小伙伴們可以參考一下

因為最近的開發(fā)涉及到了網(wǎng)絡讀取數(shù)據(jù),那么自然少不了的就是下拉刷新的功能,搜索的方法一般是自己去自定義ListView或者RecyclerView來重寫OnTouch或者OnScroll方法來實現(xiàn)手勢的監(jiān)聽然后播放動畫最后刷新界面 

今天說的是一個Google官方提供的下拉刷新布局,名字叫做SwipeRefreshLayout,找到這個布局的時候真的是喜出望外啊,下面來記錄一下它怎么用。 

這里放一下效果圖先,就是下面這個小圈圈啦 

首先是需要把這個布局套在我們需要刷新的控件之外,這里是RecyclerView

<android.support.v4.widget.SwipeRefreshLayout
  android:id="@+id/reglost_srl"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <android.support.v7.widget.RecyclerView
   android:id="@+id/reglost_rv"
   android:layout_width="match_parent"
   android:layout_height="match_parent" />

 </android.support.v4.widget.SwipeRefreshLayout>

當我們需要顯示或者隱藏刷新這個小動畫的時候,需要調(diào)用下面這個方法
 public void setRefreshing(boolean refreshing)
但是,如果是剛開始的時候我們要顯示這個加載的動畫,不能直接把true傳入這個方法然后調(diào)用,因為我們在源代碼中可以看到SwipeRefreshLayout中的一個名為mOriginalOffsetTop的變量沒有被初始化,所以動畫是可能顯示不出來的,那么應該怎樣來顯示呢?用下面的方法 

refreshlayout.post(new Runnable() {
   @Override
   public void run() {
    refreshlayout.setRefreshing(true);
   }
  });

然后,我們還需要給動畫結(jié)束后添加一個監(jiān)聽

 refreshlayout.setOnRefreshListener(this); 
@Override
 public void onRefresh() {
  refreshData(); // refresh the view
 } 

當數(shù)據(jù)加載完成了,把動畫隱藏,很簡單
refreshlayout.setRefreshing(false);
到這里,其實已經(jīng)基本是全部的用法了,這個東西真的是方便,但是,不是就沒有一點問題了,稍不注意,其實還是會遇到一些問題的。
 在網(wǎng)上的很多代碼中,不少的開發(fā)者都喜歡在從網(wǎng)絡加載數(shù)據(jù)前把數(shù)據(jù)集合清空,也就是在onRefresh方法中先調(diào)用data.clear(),但是這里會出現(xiàn)一個問題,如果正在加載的時候我們往上滑動界面,App就會直接Crash掉,看圖 

這個問題其實也很簡單因為如果我們把數(shù)據(jù)清空了,但是列表沒有刷新,如果滑動產(chǎn)生的話就會去訪問data中的數(shù)據(jù),直接就越界了。
 所以正確的做法應該是先執(zhí)行聯(lián)網(wǎng)加載數(shù)據(jù),當數(shù)據(jù)加載完了就清空集合,重新填入并刷新。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

九龙县| 神农架林区| 浦北县| 织金县| 崇礼县| 南和县| 双柏县| 西林县| 南皮县| 荆州市| 聂拉木县| 高台县| 庄河市| 长顺县| 珠海市| 吉木乃县| 新安县| 崇州市| 嘉定区| 大兴区| 成安县| 托克托县| 北海市| 淮南市| 珲春市| 上饶县| 湾仔区| 阿图什市| 合水县| 五华县| 思茅市| 清徐县| 那坡县| 高陵县| 阿拉善盟| 民县| 乐业县| 揭阳市| 大姚县| 青冈县| 抚顺市|