-
使用自定義內(nèi)部類與convertview聯(lián)系起來查看全部
-
ViewHolder優(yōu)化查看全部
-
數(shù)據(jù)適配器--BaseAdapter BaseAdaoter基本結(jié)構(gòu) public int getCount():簡單說就是listView或其它要顯示的數(shù)據(jù)個(gè)數(shù)查看全部
-
在getview方法中我們通常使用layout中inflater方法來將一個(gè) xml文件轉(zhuǎn)化為一個(gè)view布局 先創(chuàng)建一個(gè)layoutInflater對象,在構(gòu)造方法中對 layoutInflater對象進(jìn)行初始化,傳進(jìn)來一個(gè)context對象來初 始化Inflater對象(inflater=LayoutInflater.from (context);),通過layoutinflater對象將xml文件轉(zhuǎn)化為我們所 需要的view,通過調(diào)用它的inflate方法將一個(gè)resource文件傳 遞進(jìn)來,也就是item,并找到item布局文件中的三個(gè)控件,在 我們轉(zhuǎn)化過來的xml文件中去尋找我們的id(ImageView imageview=(Imageview)view.findviewbyid(資源文件);)將 mlist中的數(shù)據(jù)提取出來。 通過viewHolder的三個(gè)成員變量來保存我們所需要的三個(gè)控件 (viewHolder.imageview=(Imageview) convertview.findviewbyid(資源文件);)通過findviewbyid 將控件保存到了viewholder對象中,通過setTag方法將 convertview與viewholder相關(guān)聯(lián)查看全部
-
Viewholder優(yōu)化baseadapter思路查看全部
-
BaseAdapter文藝式 1、ViewHolder:getView()方法是利用了ViewHolder類,優(yōu)化了inflate()和findViewById()的耗時(shí)操作。 (1)創(chuàng)建一個(gè)ViewHolder對象,通過ViewHolder對象,就將這些通過findViewById()找到的組件對象保存到了ViewHolder對應(yīng)的組件對象中 (2)通過setTag()方法將這個(gè)viewHolder和當(dāng)前的view建立聯(lián)系 //這樣就可以將沒有緩存過的View對象創(chuàng)建出來,并將其每個(gè)組件保存在ViewHolder對象中。 (3)當(dāng)View不為空的時(shí)候就可以通過convertView.getTag()將它所關(guān)聯(lián)的viewHoloder對象取出。 (4)最后通過viewHolder中保存的組件對象設(shè)置當(dāng)前的view對象 //通過ViewHolder類其實(shí)是優(yōu)化了findViewById()的耗時(shí)操作查看全部
-
使用settag方法將viewholder與convertview進(jìn)行關(guān)聯(lián),這樣每一個(gè)為空的convertview會(huì)將它的控件保存在viewholder這樣的一個(gè)控件之中,這樣我們通過settag方法就可以快速的找到一個(gè)converview中所包含的viewholder對象也就是image和text的對象,從而避免了通過findviewbyid的方法去實(shí)例化 在convertview不為空的時(shí)候就可以直接通過convertview的一個(gè)gettag方法取出所關(guān)聯(lián)的viewholder對象啊,令 viewholder=convertview.gettag(); 通過viewholder來找到imageview對象,查看全部
-
viewholder查看全部
-
viewHolder查看全部
-
普通式查看全部
-
最麻煩的getview()方法查看全部
-
BaseAdapter數(shù)據(jù)適配器方法查看全部
-
baseAdapter查看全部
-
baseAdapter查看全部
-
1.創(chuàng)建內(nèi)部類ViewHolder 2.判斷convertView是否為空 3.通過setTag將ViewHolder與convertView綁定查看全部
舉報(bào)
0/150
提交
取消