时间:2021-05-20
当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()方法中进行相应的判断逻辑实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展
本文实例讲述了Android开发中画廊视图Gallery的两种使用方法。分享给大家供大家参考,具体如下:第一种方法:第一步:设计xml布局文件代码如下:main
前言Activity在界面创建时需要将XML布局文件中的内容加载进来,正如我们在ListView或者RecyclerView中需要将Item的布局加载进来一样,
AndroidTextView对齐的两种方法在写Android布局文件时,经常碰到如下图的TextView左右对齐的情况,即姓名和手机号码纵向对齐。、第一种方法
Android手机防止休眠的两种实现方法实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明。一种是在代码里面修改LayoutParams的标