步驟:
1.在乙個相對布局裡面放乙個recyclerview,需要注意的是recyclerview是單獨存在於v7包中的,所以使用的時候需要單獨導包
2.在主函式中初始化recyclerview,給它設定adapter.
重點:其實recyclerview與listview相比的話,更重要的是它的復用性,所以在介面卡這塊的邏輯是不同的.
recyclerview的adapter:通過最下面的adapter**觀察就會發現,其實它們的**結構大同小異,而如果要改變recyclerview的結構的話只需要修改一點點**就可以了.比如:
需要線性布局的話使用linearlayoutmanager
需要九宮格布局的話就使用gridlayoutmanager
需要瀑布流布局的話就使用staggeredgridlayoutmanager
另外:下面有對recyclerview的adapter中的方法做出注釋
大體**如下:
recyclerview = (recyclerview) findviewbyid(r.id.recycler);
//通常情況下這第二步是以下三種情況,選擇需要的型別
private view initlistview(boolean isver)
private view initgridview(boolean isver)
private view initstaggeredgridview(boolean isver)
//這裡我貼出它的三種adapter**,可以做個比較
recyclerview.setadapter(你想要的型別的介面卡);
listadapter :
package com.***.androidl.widget;
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.imageview;
import android.widget.textview;
import com.itheima.androidl.r;
//繼承recyclerview自帶的adapter
public class listadapter extends recyclerview.adapter;
string names = ;
context context;
boolean flag;
public listadapter(context context, boolean flag)
@override
public listholder oncreateviewholder(viewgroup parent, int viewtype)
//給viewholder進行資料的繫結
@override
public void onbindviewholder(listholder holder, int position)
//設定item的數量
@override
public int getitemcount()
class listholder extends recyclerview.viewholder
public void setdata(int position) }}
gridadapter
package com.***.androidl.widget;
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.imageview;
import android.widget.textview;
import com.itheima.androidl.r;
public class gridadapter extends recyclerview.adapter;
string names = ;
context context;
boolean flag;
public gridadapter(context context, boolean flag)
@override
public listholder oncreateviewholder(viewgroup parent, int viewtype)
@override
public void onbindviewholder(listholder holder, int position)
@override
public int getitemcount()
class listholder extends recyclerview.viewholder
public void setdata(int position)}}
staggeredgridadapter
package com.***.androidl.widget;
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.imageview;
import android.widget.textview;
import com.itheima.androidl.r;
public class staggeredgridadapter extends recyclerview.adapter;
int iconsh = ;
public staggeredgridadapter(context context, boolean flag)
@override
public listholder oncreateviewholder(viewgroup parent, int viewtype)
@override
public void onbindviewholder(listholder holder, int position)
@override
public int getitemcount()
class listholder extends recyclerview.viewholder
public void setdata(int position) else
name.settext("this is position "+ position);}}
}
使用RecyclerView打造乙個相片廊
這次我們使用recyclerview這個強大的控制項來實現乙個相片廊,就是長這個模樣 一.自定義乙個view繼承recyclerview public class photogalleryview extends recyclerview implements galleryitemdecorati...
python寫乙個服務 Python寫乙個服務
coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...
寫乙個東東
最近打了幾天的三國無雙6,感覺不錯!很久很久以前,乙個小學同學帶了我到機室玩三國無雙。自此,我便喜歡上了這個遊戲。現在我玩的遊戲內有兩個 三國無雙和cs。ps 曾經有些怪我的這個好朋友帶我打遊戲,但現在想來,若不是他,我的童年又怎麼會有歡樂呢。人活著,快樂是最重要的.因為以前是用專用手柄打的,感覺非...