Android Studioドロップダウン・リフレッシュ(PullToRefresh)

3071 ワード

PullToRefreshの基本的な使い方:
1、        PullToRefresh  ,  PullToRefreshListView;
2、 Activity ,     OnRefreshListener         ;
3、     onRefresh()           ,    AsyncTask   ;
4、 AsyncTask       ,    onRefreshComplete()    PullToRefresh         ,        。

    :(https://github.com/chrisbanes/Android-PullToRefresh)

1.PullToRefreshのインポート
1.1 libraryのbuildを修正する.gradleのsdkバージョン
  //    
  compileSdkVersion 16
  buildToolsVersion "27.0.3"

  defaultConfig {
    minSdkVersion 4
    targetSdkVersion 4
  }
 
  //   
  compileSdkVersion 27
  buildToolsVersion "27.0.3"

  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 27
  }

1.2 Clear Project後、次のエラーが発生し、ソースコードを修正します.「PullToRefreshWebView」
    :      
    :      floor(float)
    :   FloatMath	

  FloatMath.floor -> Math.floor

1.3自分のプロジェクトを選択します.たとえば、「app」を右クリックし、「open Module settings」を右クリックしてライブラリをインポートします.
1.4 layoutレイアウトファイルを修正し、PullToRefreshコントロールを追加してListViewを置換すればよい
2.サードパーティ製コントロール:アップロード、ドロップダウンリフレッシュコントロール
2.1サードパーティ製プラグインライブラリのインポート
  Android-PullToRefresh-master.zip

2.2レイアウトファイルにおけるサードパーティ製プラグインの使用
  com.handmark.pulltorefresh.library.PullToRefreshListView 

コードの例


2.3カスタムアダプタ提供データ
2.4非同期タスククエリーデータ(AsyncTask)
2.4.1 AsyncTask          Params,Progress Result。
      Params            ,  HTTP   URL。
      Progress           。
      Result              ,  String
2.4.2                   
      doInBackground(Params…)     ,              
      onPostExecute(Result)     Handler   UI   ,         doInBackground          UI
        -- :             
      myBaseAdapter.notifyDataSetChanged();//           
      plv_main_plv1.onRefreshComplete();//             

2.5 PullToRefreshListViewに関連属性を設定する
  plv_main_1.setMode(Mode.BOTH);//       
  Mode.BOTH:        
  Mode.PULL_FROM_START:     Pulling Down 
  Mode.PULL_FROM_END:     Pulling Up 

  plv_main_1.getLoadingLayoutProxy().setPullLabel("    ...");//     ,    
  plv_main_1.getLoadingLayoutProxy().setRefreshingLabel("    ...");//    
  plv_main_1.getLoadingLayoutProxy().setReleaseLabel("    ...");//          ,      
  
  github、  

コア:
  1、  Android project
  2、         project 
  3、       module sdk      sdk     ,      
  4、    module      
  5、  module     ,jdk         。
  6、  listview PullToRefreshListView 
  7、     
  8、 PullToRefreshListView      ,         
  9、     ,