亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android RecyclerView加載兩種布局的方法

發布時間:2020-10-17 07:43:49 來源:腳本之家 閱讀:174 作者:龍_Alvin 欄目:移動開發

當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()方法中進行相應的判斷邏輯實現。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

论坛| 甘德县| 噶尔县| 上杭县| 阿拉善左旗| 瓦房店市| 新平| 社旗县| 湖北省| 博客| 嘉兴市| 瓮安县| 泾源县| 柘荣县| 丰顺县| 普兰县| 布拖县| 咸阳市| 叙永县| 昭通市| 高安市| 泗水县| 中阳县| 南宫市| 合作市| 泸州市| 靖安县| 手机| 红安县| 高阳县| 寻甸| 雅安市| 保定市| 襄城县| 安康市| 准格尔旗| 贵南县| 育儿| 黄浦区| 古丈县| 宜良县|