RecyclerView載入多種布局

2021-10-06 01:15:57 字數 2136 閱讀 9172

因公司需求,需要對條碼資料進行資料查詢,但是返回的結果是多種型別的,所以需要根據返回的資料型別進行不同布局的顯示。所以就需要用到多布局載入

網上也找到了很多的文章,但是就是無法實現我想要的效果,根據一上午的折騰終於將完成了我的需求,

廢話也不多說,直接進入主題

首先我們需要知道recyclerview.adapter裡面方法執行的順序

①getitemcount->獲取要顯示的item個數

②getitemviewtype ->獲取要顯示的item型別

③oncreateviewholder

④onbindviewholder

我的資料型別:

,]

,"fanxiustate"

:"***x"

,"fanxiu":,}

資料載入

var sss: mutablelist

=arraylist()

//封裝的網路請求 retrofitutil.retrofitservice.gettiaomazhuisu(data!!.getstringextra("wojiushiwo")).subscribeon(schedulers.io())

.observeon

(androidschedulers.

mainthread()

).subscribe}if

(it.dataliststate.

equals

("access"))

}//給介面卡設定資料

var adapter =

tiaomazhuisussadapter

(sss as list

)//關聯列表和介面卡

tiaomazhuisu_liebiao.adapter = adapter

}

tiaomazhuisussadapter

public

class

tiaomazhuisussadapter

extends

recyclerview.adapter

@nonnull

@override

public recyclerview.viewholder oncreateviewholder

(@nonnull viewgroup parent,

int viewtype)

else

if(viewtype == item_content)

return holder;

}@override

public

void

onbindviewholder

(@nonnull recyclerview.viewholder viewholder,

int position)

else

if(viewholder instanceof

viewholdercontent)}

@override

public

intgetitemcount()

@override

public

intgetitemviewtype

(int position)

else

if(wow.

get(position)

instanceof

tiaomazhuisubeans.fanxiubean

)return

super

.getitemviewtype

(position);}

private

class

viewholdertitle

extends

recyclerview.viewholder

}private

class

viewholdercontent

extends

recyclerview.viewholder

}}

歐克 ,這樣設定就可以完成不同資料載入不同的布局

RecyclerView多布局的載入與實現

android layout width match parent android layout height match parent android.support.v7.widget.recyclerview 之後在activity給例項化出來 然後我們需要寫介面卡 public class ...

recyclerview底部載入方案

因為專案中多個列表都需要用到底部載入,所以我想了乙個簡單的底部載入方案。先分析一下整個底部載入過程吧,首先為recyclerview設定滑動監聽,recyclerview滑動時判斷是否到達底部,到達就呼叫載入更多的方法。另外,還要控制載入過程的同步。實現 1.建立了乙個類用來管理整個底部載入過程 p...

RecyclerView載入複雜布局

github原始碼位址 碼雲原始碼位址 這是nestedscrollview是布局xml,我用的是25.3.1版本,就不會有無法計算裡面recyclerview的高度問題。設定滑動慣性 recyclerviewproduct.setnestedscrollingenabled false 要記得re...