Spring怎么实现上拉刷新和下拉加载效果

这篇文章主要介绍Spring怎么实现上拉刷新和下拉加载效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

目前成都创新互联已为1000+的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、杨浦网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

导依赖:

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布局

 
 
 
 
   
 
 
     
 
   
 
 

MainActivity 主类 

public class MainActivity extends Activity { 
 
  private RecyclerView recyclerView; 
  private List 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"); 
 
 
 
    // 设置布局管理器 
//    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(); 
  
  } 
  
}

下拉布局

 
 
   
   
   
 
  

刷新布局

 
 
   
   
   
 
   
 
 

MultiAdapter 适配器 

public class MultiAdapter extends RecyclerView.Adapter { 
 
 
  private Context context; 
  private List list; 
 
 
  public MultiAdapter(Context context, List 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); 
    } 
  } 
}

以上是“Spring怎么实现上拉刷新和下拉加载效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:Spring怎么实现上拉刷新和下拉加载效果
文章地址:http://pwwzsj.com/article/jjpghg.html