Android RecyclerView加載兩種布局的方法
當(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 LaunchMode四種啟動模式詳細(xì)介紹
這篇文章主要介紹了Android LaunchMode四種啟動模式詳細(xì)介紹的相關(guān)資料,這里對launchmode的使用方法進行了詳解及啟動模式的比較,需要的朋友可以參考下2016-12-12android計算器實現(xiàn)兩位數(shù)的加減乘除
這篇文章主要為大家詳細(xì)介紹了android計算器實現(xiàn)兩位數(shù)的加減乘除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03Android在kts中使用navigation及Args的方法
在Android項目中使用Kotlin腳本(kts)替代Groovy配置navigation和Args,需添加相關(guān)依賴,并在build.gradle中進行配置,文章詳細(xì)介紹了如何在kts中使用navigation進行頁面導(dǎo)航和參數(shù)傳遞,介紹了使用Bundle和Safe Args兩種方式安全傳遞參數(shù)2024-10-10Android組件之DrawerLayout實現(xiàn)抽屜菜單
DrawerLayout組件同樣是V4包中的組件,也是直接繼承于ViewGroup類,所以這個類也是一個容器類。接下來通過本文給大家介紹Android組件之DrawerLayout實現(xiàn)抽屜菜單,感興趣的朋友一起學(xué)習(xí)吧2016-02-02Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法
這篇文章主要介紹了Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法,涉及Android屬性設(shè)置及activity操作的相關(guān)技巧,需要的朋友可以參考下2015-11-11