因公司需求,需要對條碼資料進行資料查詢,但是返回的結果是多種型別的,所以需要根據返回的資料型別進行不同布局的顯示。所以就需要用到多布局載入
網上也找到了很多的文章,但是就是無法實現我想要的效果,根據一上午的折騰終於將完成了我的需求,
廢話也不多說,直接進入主題
首先我們需要知道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...