publicabstract
class myadapterextends
baseadapter
public myadapter(arraylis***ata, int
mlayoutres)
@override
public
intgetcount()
@override
public t getitem(int
position)
@override
public
long getitemid(int
position)
@override
public view getview(int
position, view convertview, viewgroup parent)
public
abstract
void
bindview(viewholder holder, t obj);
//新增乙個元素
public
void
add(t data)
mdata.add(data);
notifydatasetchanged();
}//往特定位置,新增乙個元素
public
void add(int
position, t data)
mdata.add(position, data);
notifydatasetchanged();
}public
void
remove(t data)
notifydatasetchanged();
}public
void remove(int
position)
notifydatasetchanged();
}public
void
clear()
notifydatasetchanged();
}public
static
class
viewholder
//繫結viewholder與item
public
static
viewholder bind(context context, view convertview, viewgroup parent,
int layoutres, int
position)
else
holder.position =position;
return
holder;
}@suppresswarnings("unchecked")
public
extends view> t getview(int
id)
return
t; }
/*** 獲取當前條目
*/public
view getitemview()
/*** 獲取條目位置
*/public
intgetitemposition()
/*** 設定文字
*/public viewholder settext(int
id, charsequence text)
return
this
; }
/*** 設定
*/public viewholder setimageresource(int id, int
drawableres)
else
return
this
; }
/*** 設定點選監聽
*/public viewholder setonclicklistener(int
id, view.onclicklistener listener)
/*** 設定可見
*/public viewholder setvisibility(int id, int
visible)
/*** 設定標籤
*/public viewholder settag(int
id, object obj)
//其他方法可自行擴充套件
}}
自定義Adapter中對ListView的優化
現在已經寫好乙個簡單的listview,它是這個樣子的 自定義adapter要繼承baseadapter,並且實現4個方法,其中getview是返回乙個檢視,對於listview的優化就要針對這個方法來優化 首先我們在getview方法中列印position和convertview,來觀察他們的值 ...
自定義可拖拽view
我們知道view的繪製有三個重要的過程分別是measure,layout,draw.measure負責測量view的尺寸,layout負責定位view的位置,draw負責把view繪製到上。我們這就是通過layout重新定位view。public class custommoveview exten...
可擴充套件的自定義table元件
vue class table with label class table th class th title v for item,index in viewdata key index width item.width li ul div class table tbody class bod...