当前位置: 移动技术网 > IT编程>移动开发>Android > Android RecyclerView加载两种布局的方法

Android RecyclerView加载两种布局的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

行尸走肉第四季1,疯狂认国旗,青岛小哥骂雅阁女

当recyclerview有下拉刷新时,有时候设计图上,体现出来的列表有头部布局,这可以通过adapter实现加载多套布局就可以,这里以加载两种布局为例说明。

先看看adapter的代码:

import android.annotation.suppresslint;
import android.content.context;
import android.support.v7.widget.recyclerview;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup;
import android.widget.baseadapter;

import com.alvin.r;

import java.util.arraylist;
import java.util.list;

public class mainlistadapter extends recyclerview.adapter<recyclerview.viewholder>{
 private list<data> list;
 private arraylist<itementity> jdlist;
 private context context;

 public mainlistadapter(list<data> list,arraylist<itementity> jdlist, context context) {
  this.list = list;
  this.jdlist = jdlist;
  this.context = context;
 }
 @override
 public int getitemviewtype(int position) {
  return list.get(position).getshowtype();
 }
 @override
 public recyclerview.viewholder oncreateviewholder(viewgroup parent, int viewtype) {
  if(viewtype==1){
   view view = layoutinflater.from(parent.getcontext()).inflate(r.layout.layout_header_main_list,parent,false);
   return new headerholder(view);
  }else{
   view view = layoutinflater.from(parent.getcontext()).inflate(r.layout.item_list_main,parent,false);
   return new viewholderitem(view);
  }
 }

 @override
 public void onbindviewholder(recyclerview.viewholder holder, int position) {

  if(holder instanceof headerholder){
   final headerholder headerholder = (headerholder) holder;
   //todo 实现相关逻辑
  }else if(holder instanceof viewholderitem){

  }
 }

 @override
 public int getitemcount() {
  return list.size();
 }

 private class headerholder extends recyclerview.viewholder{

  headerholder(view itemview) {
   super(itemview);
  }
 }

 private class viewholderitem extends recyclerview.viewholder{

  viewholderitem(view itemview) {
   super(itemview);
  }
 }


}

getitemviewtype()这个返回的是列表当前布局类型,在adapter加载布局时,对齐进行判断,也就是onbindviewholder()方法中进行相应的判断逻辑实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网