Этот пример разделяет эффект обновления пружины и раскрывающейся нагрузки для вашей ссылки. Конкретный контент заключается в следующем
Зависимость:
Compile 'com.android.support:recyclerview-v7:25.3.1' Compile 'com.liaoinstan.springview: библиотека: 1.3.0' Compile Files ('libs/glide-3.7.0.jar') Mackout 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: Mayout_width = "match_parent" Android: Layout_height = "match_parent" Android: Oriestation = "Vertical" инструменты: context = "muhanxi.RecycleView.mainActivity"> <com.liaoinstan.springview.widget.springview android: layout_width = "match_parent" Android: id = "@+id/springview" android: layout_height = "match_parent"> <android.support.v7.widget.recycliew android: layout_width. Android: Layout_height = "Match_parent" Android: id = "@+id/recyclerview"/> </comcom.liaoinstan.springview.widget.springview> </linearlayout>
MainActivity Main Class
открытый класс MainActivity расширяет деятельность {Private Recyclerview Recyclerview; Частный список <string> list = new ArrayList <> (); Private Springview SpringView; Частный 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,957707785&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,957707785&fm=27&gp=0.jpg"); list.add ("http://img3.imgtn.bdimg.com/it/u=2971205354,485034289&fm=27&gp=0.jpg"); // Настройка менеджера макета // new GridlayoutManager () Девяти сетка менеджера макета // new Linearlayoutmanager () ListView Layoutmanager // // new SnageredGridlayoutmanager () водопад Layoutmanager // recyclerview.setlayoutmanager (New Gridlayoutmanager (This, 5); // recyclerview.setlayoutmanager (new SnaggeredGridlayoutmanager (3, linearlayout.vertical)); // recyclerviewAdapter adapter = new RecyclerviewAdapter (это, список); MultiAdapter Adapter = новый MultiAdapter (это, список); linearlayoutmanager = new linearlayoutmanager (это, linearlayoutmanager.vertical, false); recyclerview.setlayoutmanager (linearlayoutmanager); recyclerview.setAdapter (адаптер); // // adapter.setIListener(new RecyclerViewAdapter.Listener() { // @Override // public void onClick(View view, int position) { // Toast.makeText(MainActivity.this, ""+position, Toast.LENGTH_SHORT).show(); // } // // @Override // public void longClick(View view, int position) { // //} //}); recyclerview.setonscrolllistener (new recyclerview.onscrolllistener () {@override public void onscrollstatechanged (recyclerview recyclerview, int newstate) {super.onscrollstatechanged (recyclerview, newState); // lineArlayAtmanager.findfirstvisibebrewememempise visosymempisemempise visositememosh onscrolled (recyclerview recyclerview, int dx, int dy) {super.onscrolled (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 (новый DefaultFooter (this)); SpringView.setListener (new SpringView.onFreshListener () {@Override public void onrefresh () {// Скачать SpringView.onfinishFreshandLoad ();} @Override public void onloadmore () {// on springview.onfinishfreshandload ();}}); // 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 = "wrap_content" Android: "Android:" Android: "Android:" Android: "Android:" Android: "Android:" Android "" <ImageView Android: src = "@mipmap/ic_launcher" Android: scaletype = "centercrop" Android: id = "@+id/item_simageview" Android: layout_width = "match_parent" Android: Layout_Height = "100dp"/> </lineArlayout>
Обновить макет
<? 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 = "wrap_content" Android: "Android:" Android: "Android:" Android: "Android:" Android: "Android:" Android "" <ImageView Android: src = "@mipmap/ic_launcher" Android: id = "@+id/item_simageview" Android: layout_width = "match_parent" Android: Layout_height = "100DP"/> <TextView Android: founder = "@Color/ColorPrimary" Android: Layout_WIDTH_PART = "MATHERTHE_PART =" MATHERTHE_PART = "MATHERTTH =" MATHERTTH = "MATHERTHE_PARTERTHERTHTERTH =" MATCHIT_PARTE_PIDTHTERTH = "@@ColorPrimary" Android: layout_height = "wrap_content" Android: id = "@+id/item_textview"/> </linearlayout>
MultiAdapter Adapter
Public Class MultiAdapter Extends recyclerview.adapter <recyclerview.viewholder> {контекст частного контекста; частный список <string> list; public multiAdapter (контекст контекста, список <string> list) {this.context = context; this.list = list; } @Override public recyclerview.viewholder oncreateviewholder (viewgroup parent, int viewtype) {if (viewtype == 0) {view = layoutinflater.from (context) .inflate (r.layout.layout_fitem, родитель, false); вернуть новый Fviewholder (View); } else {view = layoutinflater.from (context) .inflate (r.layout.layout_sitem, parent, false); вернуть новый Sviewholder (View); }} @Override public int getItemViewType (int position) {return Position % 2; } @Override public void onBindViewholder (recyclerview.viewholder, int position) {if (holder instanceof fviewholder) {fviewholder fviewholder = (fviewholder) Holder; fviewholder.itemstextview.settext (position+""); Glide.with (context) .load (list.get (position)). Into (fviewholder.itemsimageview); // ImageLoader.getInstance (). DisplayImage (list.get (position), fviewholder.itemsImageView); } else {sviewholder sviewholder = (sviewholder) Holder; Glide.with (context) .load (list.get (position)). Into (sviewholder.itemsimageview); // ImageLoader.getInstance (). DisplayImage (list.get (position), sviewholder.itemsimageview); }} @Override public int getIteMcount () {return list.size (); } static class fviewholder extends recyclerview.viewholder {@bindview (r.id.item_simageview) ImageView itemsImageView; @Bindview (r.id.item_textview) textview itemstextview; Fviewholder (view view) {super (view); Butterknife.bind (это, View); }} class sviewholder extends recyclerview.viewholder {@bindview (r.id.item_simageview) ImageView itemsImageView; Sviewholder (view view) {super (view); Butterknife.bind (это, View); }}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.