RecycleView簡介及基本使用

2021-08-14 05:07:07 字數 3003 閱讀 1799

##recycleview簡介

recyclerview控制項和listview的原理有很多相似的地方,都是維護少量的view來進行顯示大量的資料,不過recyclerview控制項比listview更加高階並且更加靈活。當我們的資料因為使用者事件或者網路事件發生改變的時候也能很好的進行顯示。和listview不同的是,recyclerview不用在負責item顯示相關的功能,所有有關布局、繪製、資料繫結等都被分拆成不同的類進行管理。同時recyclerview控制項提供了以下兩種方法來進行簡化和處理大數量集合:

1.基本使用

recycleview的基本使用

recycleview導包(可有可無)

dependencies中新增

compile'com.android.support:recyclerview-v7:23.1.1'  

在布局檔案中定義

3.對其進行初始化

rcv_history = (recyclerview) findviewbyid(r.id.rcv_history);

4.linearlayoutmanager 和 gridelayoumanager 兩種顯示風格

//linearlayoutmanager(listview)

rcv_history.setlayoutmanager(new(historyactivity.this));

//gridlayoutmanager(grideview)

//第二個引數 就是gridview一樣 一行顯示個個數

rcv_history.setlayoutmanager(newgridlayoutmanager(historyactivity.this,2));

rcv_history.setadapter(adapter);

建立乙個類繼承recycleview.adapter

5.recycleview.adapter==> class historyadapter extendsrecyclerview.adapter<historyadapter.mediaholder>//指定泛型

建立乙個類 整合recycleview.viewholder()

//返回的是乙個holder

@override

//i不是下標 而是型別

如何實現了getitemviewtype()//

//oncreateviewholder載入對應布局,初始化對應的holder,每種布局對應自己的holder

publichistoryadapter.mediaholderoncreateviewholder(viewgroup viewgroup, intviewtype) //根據型別的不同載入對應的布局

return holder;

}class mediaholder extends recycleview.viewholder

}

6.//

onbindviewholder繫結對應的holder,載入對應的布局

設定item的顯示 //第乙個引數 oncreateviewholder中返回的holder型別 第二個引數指定的下標

public voidonbindviewholder(historyadapter.mediaholderholder, final intposition) //返回item的總大小

@override public int getitemcount() else

}7.自定義recycleview的監聽1.自定義recycleview 2.adapter裡設定監聽

1. 建立乙個介面

public inte***ce recycleitemclicklistener

2.宣告變數

recycleitemclicklistener listener;

3.set方法

public void setrecycleitemclicklistener(recycleitemclicklistener recycleitemclicklistener) 

4.實現的地方

//在hodler中 得到itemvidew物件

//this.view = itemview;在viewholder個構造器裡獲得其view

在onbindviewholder下//在此才有position

public void onbindviewholder(historyadapter.mediaholder holder, final int position)

}});

}5.實現監聽

adapter.setrecycleitemclicklistener(new recycleitemclicklistener(

public void onitemclicklistener(holder.view,position)   

))

18 04ubuntu系統下NFS簡介及基本配置

nfs是一種流行的網路檔案共享服務,共享流程是在ubuntu上設定乙個共享檔案目錄,其他使用者可以通過nfs的協議訪問主機上的共享資料夾,實現網路檔案共享。1.安裝nfs服務端 sudo aptitude install y nfs kernel server 2.配置 服務端的配置檔案通常放在 e...

python 中抽象基類簡介

簡介 python中雖然鴨子型別很強大,但鴨子型別也有著不足。具體關於分類可以參照水禽的分類理解。因此,參照水禽的分類學演化,我建議在鴨子型別的基礎上增加白鵝型別 goose typing 白鵝型別指,只要cls是抽象基類,即cls的元類是abc.abcmeta,就可以使用isinstance ob...

初始Storm WorkCount案例及基本介面

spout 資料流的生成者,是主要資料入口,充當採集器角色,連線到資料來源,將資料轉換為乙個個tuple,並將tuple作為資料流 進行發射 bolt 計算,將乙個個資料流作為輸入,對資料流實施運算後,選擇性得輸出乙個或者多個資料流,bolt可乙個訂閱多個由spout或者其他bolt發射的資料了流 ...