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

android使用SwipeRefreshLayout實(shí)現(xiàn)ListView下拉刷新上拉加載

 更新時(shí)間:2021年06月24日 09:11:30   作者:ZhengJiaoCsdn  
這篇文章主要為大家詳細(xì)介紹了android使用SwipeRefreshLayout實(shí)現(xiàn)ListView下拉刷新上拉加載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了android實(shí)現(xiàn)ListView下拉刷新上拉加載的具體代碼,供大家參考,具體內(nèi)容如下

這次使用的是系統(tǒng)的SwipeRefreshLayout實(shí)現(xiàn)下拉刷新,和設(shè)置ListView的滑動監(jiān)聽判斷是否滑動到最底部然后加載更多;
這個(gè)要比PullToRefreshListView簡單很多,想PullToRefreshListView實(shí)現(xiàn)下拉刷新上拉加載的可以看這篇博客:
android使用PullToRefresh框架實(shí)現(xiàn)ListView下拉刷新上拉加載更多

至于使用哪一種大家可以根據(jù)產(chǎn)品的需求選擇,這兩種刷新目前為止世面上還是使用PullToRefreshListView的比較多;

首先說下SwipeRefreshLayout的五個(gè)方法:

1、setOnRefreshListener():設(shè)置手勢滑動監(jiān)聽器。
2、setProgressBackgroundColor():設(shè)置進(jìn)度圈的背景色。
3、setColorSchemeResources():設(shè)置進(jìn)度動畫的顏色。
4、setRefreshing():設(shè)置組件的刷洗狀態(tài)。
5、setSize():設(shè)置進(jìn)度圈的大小

這個(gè)大家簡單了解一下,下面代碼中都一一用到;

首先說下布局文件,如果想用SwipeRefreshLayout實(shí)現(xiàn)下拉刷新必須把ListView寫到SwipeRefreshLayout布局里面;

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:id="@+id/srfl"> 
 
 <ListView 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:id="@+id/listview" /> 
</android.support.v4.widget.SwipeRefreshLayout> 

我這邊是自己寫的小Demo所以下拉的時(shí)候直接發(fā)送一個(gè)延時(shí)1秒的handler,然后添加數(shù)據(jù)刷新adapter;
上拉加載更多的時(shí)候直接給ListVIew設(shè)置了一個(gè)滑動監(jiān)聽,判斷是否滑動到adapter的最下面,然后加載數(shù)據(jù),刷新adapter;

public class MainActivity extends Activity { 
 private ListView mListView; 
 private SwipeRefreshLayout swipeRefreshLayout; 
 private List<String> stringList=new ArrayList<>(); 
 private ArrayAdapter<String> adapter; 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
   
  for (int x=0 ; x<16;x++){ 
   stringList.add("新浪微博:搏擊愛好者Z"+"---"+x); 
  } 
  initView(); 
 } 
 
 private void initView() { 
  swipeRefreshLayout= (SwipeRefreshLayout) findViewById(R.id.srfl); 
  //設(shè)置進(jìn)度圈的大小;(這里面只有兩個(gè)值SwipeRefreshLayout.LARGE和DEFAULT,后者是默認(rèn)效果) 
  swipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE); 
  //設(shè)置進(jìn)度圈的背景色。這里隨便給他設(shè)置了一個(gè)顏色:淺綠色 
  swipeRefreshLayout.setProgressBackgroundColorSchemeColor(Color.CYAN); 
  //設(shè)置進(jìn)度動畫的顏色。這里面最多可以指定四個(gè)顏色,我這也是隨機(jī)設(shè)置的,大家知道怎么用就可以了 
  swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_orange_dark 
    ,android.R.color.holo_blue_dark 
    ,android.R.color.holo_red_dark 
    ,android.R.color.widget_edittext_dark); 
  mListView= (ListView) findViewById(R.id.listview); 
  adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, stringList); 
  mListView.setAdapter(adapter); 
 
  //設(shè)置手勢滑動監(jiān)聽器 
  swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
   public void onRefresh() { 
    //發(fā)送一個(gè)延時(shí)1秒的handler信息 
    handler.sendEmptyMessageDelayed(199,1000); 
   } 
  }); 
 
  //給listview設(shè)置一個(gè)滑動的監(jiān)聽 
  mListView.setOnScrollListener(new AbsListView.OnScrollListener() { 
   //當(dāng)滑動狀態(tài)發(fā)生改變的時(shí)候執(zhí)行 
   public void onScrollStateChanged(AbsListView view, int scrollState) { 
    switch (scrollState){ 
     //當(dāng)不滾動的時(shí)候 
     case AbsListView.OnScrollListener.SCROLL_STATE_IDLE: 
 
      //判斷是否是最底部 
      if(view.getLastVisiblePosition()==(view.getCount())-1){ 
       for(int x=0;x<5;x++){ 
        stringList.add(stringList.size(),"魔獸世界"+x); 
       } 
       adapter.notifyDataSetChanged(); 
      } 
      break; 
    } 
   } 
   //正在滑動的時(shí)候執(zhí)行 
   public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
   } 
  }); 
 } 
 
 private Handler handler=new Handler(){ 
  @Override 
  public void handleMessage(Message msg) { 
   if(msg.what==199){ 
    stringList.add(0,"英雄聯(lián)盟"); 
    adapter.notifyDataSetChanged(); 
    //設(shè)置組件的刷洗狀態(tài);false代表關(guān)閉 
    swipeRefreshLayout.setRefreshing(false); 
   } 
  } 
 }; 
} 

這里面為了給大家演示SwipeRefreshLayout的幾個(gè)方法,如果全部使用默認(rèn)可以把setProgressBackgroundColor():setColorSchemeResources():setSize():這三個(gè)方法去掉。
這樣代碼會更少,默認(rèn)效果也非常不錯(cuò),這個(gè)看大家需求。

源碼下載地址

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

相關(guān)文章

  • Android-自定義控件之ListView下拉刷新的實(shí)現(xiàn)

    Android-自定義控件之ListView下拉刷新的實(shí)現(xiàn)

    本篇文章主要介紹了Android-自定義控件之ListView下拉刷新示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Android實(shí)現(xiàn)四級聯(lián)動地址選擇器

    Android實(shí)現(xiàn)四級聯(lián)動地址選擇器

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)四級聯(lián)動地址選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Android ProgressDialog使用總結(jié)

    Android ProgressDialog使用總結(jié)

    ProgressDialog 繼承自AlertDialog,AlertDialog繼承自Dialog,實(shí)現(xiàn)DialogInterface接口,本文給大家介紹Android ProgressDialog使用總結(jié)的相關(guān)知識,需要的朋友通過此文一起學(xué)習(xí)吧
    2016-01-01
  • android ndk程序獲取外置SD沙盒目錄的方法講解

    android ndk程序獲取外置SD沙盒目錄的方法講解

    今天小編就為大家分享一篇android ndk程序獲取外置SD沙盒目錄的方法講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解Android消息機(jī)制完整的執(zhí)行流程

    詳解Android消息機(jī)制完整的執(zhí)行流程

    經(jīng)過前面幾篇文章的鋪墊,介紹了Hanlder、Message等類相關(guān)使用,分析了其與Looper、MessageQueue的部分源碼,本篇文章主要是集中梳理Android整個(gè)消息機(jī)制執(zhí)行的完整流程,需要的可以參考一下
    2022-10-10
  • Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法

    Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法

    這篇文章主要介紹了Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法,結(jié)合實(shí)例分析了Android處理圖片的技巧,并附帶了Android的URL封裝類,網(wǎng)絡(luò)連接封裝類與輸出流封裝類,需要的朋友可以參考下
    2015-12-12
  • Kotlin List與Set和Map實(shí)例講解

    Kotlin List與Set和Map實(shí)例講解

    集合是可變數(shù)量(可能為0)的一組條目,kotlin標(biāo)準(zhǔn)庫提供一個(gè)整套用于集合管理的工具,各種集合對于解決問題都具有重要意義,并且經(jīng)常用到。kotlin中的集合與Java基本類似
    2022-10-10
  • Android 完全退出應(yīng)用程序的解決方法

    Android 完全退出應(yīng)用程序的解決方法

    本篇文章小編為大家介紹,Android 完全退出應(yīng)用程序的解決方法。需要的朋友參考下
    2013-04-04
  • android商品詳情頁面設(shè)計(jì)詳解

    android商品詳情頁面設(shè)計(jì)詳解

    這篇文章主要為大家詳細(xì)介紹了android商品詳情頁面設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android AIDL實(shí)現(xiàn)進(jìn)程間通信探索

    Android AIDL實(shí)現(xiàn)進(jìn)程間通信探索

    這篇文章主要為大家詳細(xì)介紹了Android AIDL實(shí)現(xiàn)進(jìn)程間通信的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

乐至县| 衢州市| 礼泉县| 澄江县| 甘洛县| 潞西市| 宁强县| 定兴县| 道真| 桦甸市| 新建县| 含山县| 九龙城区| 锡林郭勒盟| 贺兰县| 偃师市| 靖宇县| 乌什县| 闽清县| 九寨沟县| 如皋市| 苍溪县| 汕头市| 元谋县| 新兴县| 广昌县| 榕江县| 鹿泉市| 潍坊市| 中山市| 镇赉县| 苏尼特右旗| 甘洛县| 赤水市| 崇信县| 哈尔滨市| 来凤县| 吴忠市| 碌曲县| 闸北区| 达拉特旗|