最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android RecyclerView加載兩種布局的方法

 更新時(shí)間:2017年02月08日 16:10:04   作者:龍_Alvin  
這篇文章主要為大家詳細(xì)介紹了Android RecyclerView加載兩種布局的方法,Adapter加載多套布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

當(dāng)RecyclerView有下拉刷新時(shí),有時(shí)候設(shè)計(jì)圖上,體現(xiàn)出來(lái)的列表有頭部布局,這可以通過(guò)Adapter實(shí)現(xiàn)加載多套布局就可以,這里以加載兩種布局為例說(shuō)明。

先看看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 實(shí)現(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()這個(gè)返回的是列表當(dāng)前布局類型,在Adapter加載布局時(shí),對(duì)齊進(jìn)行判斷,也就是onBindViewHolder()方法中進(jìn)行相應(yīng)的判斷邏輯實(shí)現(xiàn)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析Android AIDL的實(shí)例與原理

    解析Android AIDL的實(shí)例與原理

    為使應(yīng)用程序之間能夠彼此通信,Android提供了IPC(Inter Process Communication,進(jìn)程間通信)的一種獨(dú)特實(shí)現(xiàn):AIDL(Android Interface Definition Language,Android接口定義語(yǔ)言)
    2021-06-06
  • Android貝塞爾曲線實(shí)現(xiàn)消息拖拽消失

    Android貝塞爾曲線實(shí)現(xiàn)消息拖拽消失

    這篇文章主要為大家詳細(xì)介紹了Android貝塞爾曲線實(shí)現(xiàn)消息拖拽消失,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Android廣播事件流程與廣播ANR原理深入刨析

    Android廣播事件流程與廣播ANR原理深入刨析

    這篇文章主要介紹了Android廣播事件流程與廣播ANR原理,ANR應(yīng)用程序未響應(yīng),當(dāng)主線程被阻塞時(shí),就會(huì)彈出如下彈窗,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下
    2022-10-10
  • 微信小程序 canvas開(kāi)發(fā)實(shí)例及注意事項(xiàng)

    微信小程序 canvas開(kāi)發(fā)實(shí)例及注意事項(xiàng)

    這篇文章主要介紹了微信小程序 wxcanvas開(kāi)發(fā)實(shí)例及注意事項(xiàng)的相關(guān)資料,這里對(duì)微信canvas與H5中的canvas做對(duì)比,并說(shuō)明注意事項(xiàng),需要的朋友可以參考下
    2016-12-12
  • Android 組件Gallery和GridView示例講解

    Android 組件Gallery和GridView示例講解

    本文主要講解Android 組件Gallery和GridView,這里詳細(xì)介紹組件Gallery和GridView的知識(shí)要點(diǎn),并附示例代碼和實(shí)現(xiàn)效果圖,有興趣的小伙伴可以參考下
    2016-08-08
  • Android判斷程序是否第一次啟動(dòng)

    Android判斷程序是否第一次啟動(dòng)

    這篇文章主要為大家詳細(xì)介紹了Android判斷程序是否第一次啟動(dòng)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android高仿京東垂直循環(huán)滾動(dòng)新聞欄

    Android高仿京東垂直循環(huán)滾動(dòng)新聞欄

    通過(guò)自定義的LinearLayout,并且textView能夠循環(huán)垂直滾動(dòng),而且條目可以點(diǎn)擊,顯示區(qū)域最多顯示2個(gè)條目,并且還有交替的屬性垂直移動(dòng)的動(dòng)畫(huà)效果,通過(guò)線程來(lái)控制滾動(dòng)的實(shí)現(xiàn)
    2016-03-03
  • Android ListView仿微信聊天界面

    Android ListView仿微信聊天界面

    這篇文章主要為大家詳細(xì)介紹了ListView仿微信聊天界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android微信支付獲取二次簽名Sign的方法

    Android微信支付獲取二次簽名Sign的方法

    這篇文章主要介紹了Android微信支付獲取二次簽名Sign的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android UI更新的幾種方法總結(jié)

    Android UI更新的幾種方法總結(jié)

    這篇文章主要介紹了Android UI更新的幾種方法總結(jié)的相關(guān)資料,這里對(duì)Android UI 的幾種更新列出了,并附實(shí)例代碼,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

怀柔区| 阿拉尔市| 芜湖县| 石棉县| 广饶县| 黄山市| 茶陵县| 阿尔山市| 陵水| 合阳县| 靖安县| 额尔古纳市| 昔阳县| 清镇市| 卫辉市| 墨脱县| 商水县| 读书| 海林市| 屏东县| 庄河市| 英吉沙县| 武川县| 海阳市| 元氏县| 缙云县| 孝昌县| 阿克陶县| 外汇| 华坪县| 历史| 偏关县| 乌兰县| 永宁县| 增城市| 贵德县| 科技| 东兴市| 简阳市| 平山县| 长寿区|