Android RecyclerView加載兩種布局的方法
更新時間:2017年02月08日 16:10:04 作者:龍_Alvin
這篇文章主要為大家詳細(xì)介紹了Android RecyclerView加載兩種布局的方法,Adapter加載多套布局,具有一定的參考價值,感興趣的小伙伴們可以參考一下
當(dāng)RecyclerView有下拉刷新時,有時候設(shè)計圖上,體現(xiàn)出來的列表有頭部布局,這可以通過Adapter實現(xiàn)加載多套布局就可以,這里以加載兩種布局為例說明。
先看看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 實現(xiàn)相關(guān)邏輯
}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()這個返回的是列表當(dāng)前布局類型,在Adapter加載布局時,對齊進行判斷,也就是onBindViewHolder()方法中進行相應(yīng)的判斷邏輯實現(xiàn)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Android RecyclerView實現(xiàn)多種item布局的方法
- Android RecyclerView顯示Item布局不一致解決辦法
- Android RecyclerView加載不同布局簡單實現(xiàn)
- Android開發(fā)中RecyclerView模仿探探左右滑動布局功能
- Android RecyclerView布局就這么簡單
- Android RecyclerView網(wǎng)格布局示例解析
- Android列表RecyclerView排列布局
- Android RecyclerView多類型布局卡片解決方案
- Android實現(xiàn)RecyclerView嵌套流式布局的詳細(xì)過程
相關(guān)文章
Android 組件Gallery和GridView示例講解
本文主要講解Android 組件Gallery和GridView,這里詳細(xì)介紹組件Gallery和GridView的知識要點,并附示例代碼和實現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-08-08

