編輯:關於Android編程
當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()方法中進行相應的判斷邏輯實現。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
本文實例講述了Android編程實現調用系統圖庫與裁剪圖片功能。分享給大家供大家參考,具體如下:在Android開發中,調用系統圖庫和裁剪照片是很常見的需求。相對於自己實
接著上次的問題,已經介紹過,在初始化或者說OnCreate方法中獲取加載的布局的寬高,最後說到,調用view.measure(0, 0);然後在調用getMeasur
一、屏幕適配的個人理解跌跌撞撞也好,摸爬滾打也罷。在Android編程圈子中也徘徊一年有余。對於較多基礎概念並不十分清楚,現在是時候回到更貼近底層的地方去的時候了。And
下面貼一下 主要的代碼 詳細/************************************************************ * * Ease