この例では、リファレンス用のスプリングプルアップリフレッシュとドロップダウンロードの効果を共有しています。特定のコンテンツは次のとおりです
依存:
compile 'com.android.support:Recyclerview-V7:25.3.1'コンパイル 'com.liaoinstan.springview:library:1.3.0'コンパイルファイル( 'libs/glide-3.7.0.jar')
Activity_mainレイアウト
<?xml version = "1.0" encoding = "utf-8"?> <linearlayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:app = "http://schemas.android.com/apk/res-auto xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" android:worientation = "vertical" tools:context = "muhanxi.muhanxi.mainactivity"> <com.liaoinstan.springview.widget.springview android:layout_width = "match_parent" android:id = "@+id/springview" android:layout_height = "match_parent"> <android.support.v7.widget.recyclerview androidget.widget.widget.widget.widget.widget.widget.widget. Android:layout_height = "match_parent" android:id = "@+id/recyclerview"/> </com.liaoinstan.springview.widget.springview> </linearlayout>
MainActivityメインクラス
パブリッククラスのMainActivityはアクティビティを拡張します{Private Recyclerview Recyclerview;プライベートリスト<文字列>リスト= new ArrayList <>();プライベートスプリングビュースプリングビュー。 Private LinearLayoutManager LinearLayoutManager; @RequireSapi(API = build.version_codes.gingerbread)@Override Protected void oncreate(bundle savedinstancestate){super.oncreate(savedinstancestate); setContentView(r.layout.activity_main); Recyclerview =(Recyclerview)FindViewById(R.Id.Recyclerview); list.add( "http://f10.baidu.com/it/u = 2881303562,336932824&fm=72"); list.add( "http://f11.baidu.com/it/u = 681755471,2018070071&fm=72"); list.add( "http://f10.baidu.com/it/u = 960650584,863938083&fm=72"); list.add( "http://img0.imgtn.bdimg.com/it/u = 783060973,4278100629&fm=27&gp = 0.jpg"); list.add( "http://img1.imgtn.bdimg.com/it/u = 3743124979,323495668&fm=27&gp=0.jpg"); list.add( "http://img4.imgtn.bdimg.com/it/u = 3468613159,95770785&fm=27&gp=0.jpg"); list.add( "http://img3.imgtn.bdimg.com/it/u=2971205354,485034289&fm=27&gp = 0.jpg"); list.add( "http://f10.baidu.com/it/u = 2881303562,336932824&fm=72"); list.add( "http://f11.baidu.com/it/u = 681755471,2018070071&fm=72"); list.add( "http://f10.baidu.com/it/u = 960650584,863938083&fm=72"); list.add( "http://img0.imgtn.bdimg.com/it/u = 783060973,4278100629&fm=27&gp = 0.jpg"); list.add( "http://img1.imgtn.bdimg.com/it/u = 3743124979,323495668&fm=27&gp=0.jpg"); list.add( "http://img4.imgtn.bdimg.com/it/u = 3468613159,95770785&fm=27&gp=0.jpg"); list.add( "http://img3.imgtn.bdimg.com/it/u=2971205354,485034289&fm=27&gp = 0.jpg"); //レイアウトマネージャーのセットアップ// recyclerview.setlayoutManager(新しいstaggeredgridlayoutmanager(3、linearlayout.vertical)); // recyclerviewadapter adapter = new recyclerviewadapter(this、list); MultiAdapter adapter = new MultiAdapter(this、list); linearlayoutmanager = new linearlayoutmanager(これ、linearlayoutmanager.vertical、false); recyclerview.setLayoutManager(LinearLayoutManager); recyclerview.setadapter(adapter); // // adapter.setilistener(new recyclerviewadapter.listener(){// @override // public void onclick(view view、int position){// toast.maketext.this、 ""+position、toast.length_short).show(); // {// //} //}); recyclerview.setonscrolllistener(new recyclerview.onscrolllistener(){@override public void onscrollstatechanged(recyclerview recyclerview、int newstate){super.onscrollstateChanged(recyclerview、newState); void onscrolled(recyclerview recyclerview、int dx、int dy){super.onscrold(recyclerview、dx、dy); // recyclerview.setoni // recyclerview.additemdecoration(new horizontaldivideritemdecoration.builder(this)// .color(color.red).build()); Springview =(Springview)findViewByID(R.ID.SPRINGVIEW); springview.setheader(新しいdefaultheader(this)); springview.setfooter(new defaultfooter(this)); springview.setListener(new Springview.onfreshListener(){@Override public void onrefresh(){// springview.onfinishfreshandload();} @Override public void onload(){// springview.onfinishfresload();};}); // adapter.notifydatasetchanged(); }}レイアウトを引き下げます
<?xml version = "1.0" encoding = "utf-8"?> <linearlayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "lap_content" "android" "android Android:Orientation = "Vertical"> <ImageView Android:src = "@mipmap/ic_launcher" android:scaletype = "centercrop" android: "@+id/item_simageview" android:layout_width = "match_mate_parent" 100>
レイアウトを更新します
<?xml version = "1.0" encoding = "utf-8"?> <linearlayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "lap_content" "android" "android Android:Orientation = "Vertical"> <ImageView Android:src = "@mipmap/ic_launcher" android: "@+id/item_simageview" android:layout_width = "match_parent" android:layout_height = "100dp"/> <textview android = " Android:layout_width = "match_parent" android:layout_height = "wrap_content" android:id = "@+id/itex_textview"/> </linearlayout>
マルチアダプターアダプター
Public Class MultiAdapterはrecyclerview.Adapter <recyclerview.viewholder> {private context context;プライベートリスト<文字列>リスト; public MultiAdapter(コンテキストコンテキスト、リスト<文字列>リスト){this.context = context; this.list = list; } @override public recyclerview.viewholder oncreateviewholder(viewgroup parent、int viewtype){if(viewtype == 0){view = reautinflater.from(context).inflate(r.layout.layout_fitem、parent、false);新しいfviewHolder(表示)を返します。 } else {view view = layoutinflater.from(context).inflate(r.layout.layout_sitem、parent、false);新しいsviewHolder(表示)を返します。 }} @Override public int getItemViewType(int position){return position%2; } @Override public void onbindviewHolder(recyclerview.viewholder、int position){if(holder instanceof fviewholder){fviewholder fviewholder =(fviewholder)所有者; fviewholder.itemstextview.settext(position+""); glide.with(context).load(list.get(position))。 // imageLoader.getInstance()。displayImage(list.get(position)、fviewholder.itemsimageview); } else {sviewholder sviewholder =(sviewholder)所有者; Glide.with(context).load(list.get(position))。 // imageLoader.getInstance()。displayImage(list.get(position)、sviewholder.itemsimageview); }} @Override public int getItemCount(){return list.size(); } static class fviewHolderはrecyclerview.viewholder {@bindview(r.id.item_simageView)ImageView itemageView; @bindview(r.id.item_textView)textView itemStextView; fviewHolder(ビュービュー){super(view); butterknife.bind(this、view); }} class sviewHolderはrecyclerview.viewholder {@bindview(r.id.item_simageview)ImageView itemageView; sviewholder(view view){super(view); butterknife.bind(this、view); }}}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。