欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring實(shí)現(xiàn)上拉刷新和下拉加載效果

 更新時(shí)間:2017年12月01日 14:58:17   作者:AnGuoEr3344  
這篇文章主要為大家詳細(xì)介紹了Spring實(shí)現(xiàn)上拉刷新和下拉加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

導(dǎo)依賴:

compile 'com.android.support:recyclerview-v7:25.3.1' 
compile 'com.liaoinstan.springview:library:1.3.0' 
compile files('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:orientation="vertical" 
  tools: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.RecyclerView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/recyclerview"/> 
 
  </com.liaoinstan.springview.widget.SpringView> 
 
 
</LinearLayout> 

MainActivity 主類 

public class MainActivity extends Activity { 
 
  private RecyclerView recyclerView; 
  private List<String> list = new ArrayList<>(); 
  private SpringView springView; 
  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,3234956668&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,3234956668&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"); 
 
 
 
    // 設(shè)置布局管理器 
//    new GridLayoutManager() 九宮格布局管理器 
//    new LinearLayoutManager() listview 布局管理器 
// 
//    new StaggeredGridLayoutManager() 瀑布流 布局管理器 
 
 
//    recyclerView.setLayoutManager(new GridLayoutManager(this,5)); 
 
 
 
//    recyclerView.setLayoutManager(new StaggeredGridLayoutManager(3, LinearLayout.VERTICAL)); 
//    RecyclerViewAdapter adapter = new RecyclerViewAdapter(this,list) ; 
 
    MultiAdapter adapter = new MultiAdapter(this,list) ; 
 
    linearLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false); 
    recyclerView.setLayoutManager(linearLayoutManager); 
    recyclerView.setAdapter(adapter); 
// 
//    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); 
 
 
//        linearLayoutManager.findFirstVisibleItemPosition() 
 
 
      } 
 
      @Override 
      public void 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(new DefaultHeader(this)); 
    springView.setFooter(new DefaultFooter(this)); 
 
 
    springView.setListener(new SpringView.OnFreshListener() { 
      @Override 
      public void onRefresh() { 
        //下啦 
 
        springView.onFinishFreshAndLoad(); 
      } 
 
      @Override 
      public void onLoadmore() { 
// 上啦 
        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:gravity="center" 
  android:orientation="vertical"> 
   
   
  <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:gravity="center" 
  android:orientation="vertical"> 
   
   
  <ImageView 
    android:src="@mipmap/ic_launcher" 
    android:id="@+id/item_simageview" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" /> 
 
  <TextView 
 
    android:background="@color/colorPrimary" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/item_stextview"/> 
 
 
</LinearLayout> 

MultiAdapter 適配器 

public class MultiAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { 
 
 
  private Context context; 
  private List<String> list; 
 
 
  public MultiAdapter(Context context, List<String> list) { 
    this.context = context; 
    this.list = list; 
 
  } 
 
  @Override 
  public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
 
    if (viewType == 0) { 
 
      View view = LayoutInflater.from(context).inflate(R.layout.layout_fitem,parent, false); 
      return new FViewHolder(view); 
 
    } else { 
      View view = LayoutInflater.from(context).inflate(R.layout.layout_sitem, parent, false); 
 
      return new SViewHolder(view); 
 
    } 
 
 
  } 
 
 
  @Override 
  public int getItemViewType(int position) { 
    return position % 2 ; 
  } 
 
  @Override 
  public void onBindViewHolder(RecyclerView.ViewHolder holder, 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_stextview) 
    TextView itemStextview; 
 
    FViewHolder(View view) { 
      super(view); 
      ButterKnife.bind(this, view); 
    } 
  } 
 
  class SViewHolder extends RecyclerView.ViewHolder{ 
    @BindView(R.id.item_simageview) 
    ImageView itemSimageview; 
 
    SViewHolder(View view) { 
      super(view); 
      ButterKnife.bind(this, view); 
    } 
  } 
} 

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

相關(guān)文章

  • 最簡(jiǎn)單的java生成word文檔方法

    最簡(jiǎn)單的java生成word文檔方法

    這篇文章主要介紹了java生成word文檔最簡(jiǎn)單的方法,首先說明,使用該方法時(shí),盡量不要使用wps新建word文檔,經(jīng)測(cè)試,手機(jī)不能兼容,出現(xiàn)很多格式問題,office則手機(jī)可以很好的兼容,所以,本文以office做教程
    2021-08-08
  • SpringBoot項(xiàng)目打成War布署在Tomcat的詳細(xì)步驟

    SpringBoot項(xiàng)目打成War布署在Tomcat的詳細(xì)步驟

    這篇文章主要介紹了SpringBoot項(xiàng)目打成War布署在Tomcat,本文分步驟結(jié)合圖文實(shí)例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • SpringBoot跨域問題的解決方法實(shí)例

    SpringBoot跨域問題的解決方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于SpringBoot跨域問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • resty的緩存技術(shù)設(shè)計(jì)及使用

    resty的緩存技術(shù)設(shè)計(jì)及使用

    這篇文章主要為大家介紹了resty緩存技術(shù)的設(shè)計(jì)及使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Spring中的@Scope注解詳細(xì)講解及示例

    Spring中的@Scope注解詳細(xì)講解及示例

    這篇文章主要介紹了Spring中的@Scope注解詳細(xì)講解及示例,@Scope注解是 Spring IOC 容器中的一個(gè)作用域,在 Spring IOC 容器中,他用來配置Bean實(shí)例的作用域?qū)ο?需要的朋友可以參考下
    2023-11-11
  • Java配置JDK開發(fā)環(huán)境及環(huán)境變量

    Java配置JDK開發(fā)環(huán)境及環(huán)境變量

    這篇文章主要為大家詳細(xì)介紹了Java配置JDK開發(fā)環(huán)境及環(huán)境變量,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • java在cmd運(yùn)行"-d"和"-cp"參數(shù)解讀

    java在cmd運(yùn)行"-d"和"-cp"參數(shù)解讀

    這篇文章主要介紹了java在cmd運(yùn)行"-d"和"-cp"參數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringData @Query和@Modifying注解原理解析

    SpringData @Query和@Modifying注解原理解析

    這篇文章主要介紹了SpringData @Query和@Modifying注解原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Springboot詳解如何實(shí)現(xiàn)SQL注入過濾器過程

    Springboot詳解如何實(shí)現(xiàn)SQL注入過濾器過程

    這篇文章主要介紹了基于springboot實(shí)現(xiàn)SQL注入過濾器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2022-06-06
  • 解決SpringBoot連接SqlServer出現(xiàn)的問題

    解決SpringBoot連接SqlServer出現(xiàn)的問題

    在嘗試通過SSL與SQL?Server建立安全連接時(shí),如果遇到“PKIX?path?building?failed”錯(cuò)誤,可能是因?yàn)槲茨苷_配置或信任服務(wù)器證書,當(dāng)"Encrypt"屬性設(shè)置為"true"且"trustServerCertificate"屬性設(shè)置為"false"時(shí),要求驅(qū)動(dòng)程序使用安全套接字層(SSL)加密與SQL?Server建立連接
    2024-10-10

最新評(píng)論