-
ListView的顯示與緩存機(jī)制 需要才顯示,顯示完就被回收到緩存。查看全部
-
數(shù)據(jù)適配器--BaseAdapter查看全部
-
貌似這個(gè)viewholder的名字不是自己亂命的,要用的時(shí)候可以查查查看全部
-
getView的文藝式: getView函數(shù)中有兩個(gè)耗時(shí)的地方,其一是生成整個(gè)view的操作,在普通式之中,通過(guò)使用第二個(gè)參數(shù)利用了緩存池中的view,從而加快了速度。 另一個(gè)耗時(shí)是定義item對(duì)應(yīng)的view中的幾個(gè)子控件所要進(jìn)行的findviewbyid函數(shù)的使用,這里程序用一個(gè)小類(lèi)封裝了item中的幾個(gè)子控件所對(duì)應(yīng)的變量,并用settag函數(shù)在第一次運(yùn)行的時(shí)候?qū)⑵浔4嬖趘iew中,那么在后續(xù)使用的時(shí)候如果view已經(jīng)建立,就可以進(jìn)一步節(jié)省時(shí)間查看全部
-
適配器普通式: 其傳進(jìn)來(lái)的第二個(gè)參數(shù)得到了使用,第二個(gè)參數(shù)是convertview,如果這個(gè)view沒(méi)有被初始化過(guò)(不在緩沖池當(dāng)中),那么就如同前面的逗逼式的使用一樣,用inflator新建立一個(gè),因?yàn)樾陆⒁粋€(gè)非常耗時(shí),所以當(dāng)緩沖池當(dāng)中有了這個(gè)view之后,就可以直接返回了查看全部
-
最后在主程序中的使用: 這個(gè)listview也需要初始化并設(shè)置控制變量,然后設(shè)置一個(gè)適配器,適配器用前面幾節(jié)定義并重寫(xiě)了函數(shù)的子Adapter類(lèi),同時(shí)給子類(lèi)的構(gòu)造函數(shù)傳入?yún)?shù),第一個(gè)參數(shù)this表明item的子控件子界面都在這個(gè)主界面上產(chǎn)生,第二個(gè)參數(shù)即是adapter返回給listview的數(shù)據(jù)從何而來(lái)(主程序前面for循環(huán)定義)。 這樣就建立起了橋梁。 補(bǔ)充一點(diǎn),這樣是逗逼式,因?yàn)樽詈蟮膅etview函數(shù)的實(shí)現(xiàn)上面沒(méi)有使用安卓系統(tǒng)提供的緩存機(jī)制,是一種浪費(fèi)查看全部
-
最主要的getView方法,此方法并非程序調(diào)用,是系統(tǒng)自動(dòng)調(diào)用,即系統(tǒng)需要生成一個(gè)新的item的時(shí)候使用的。 首先定義一個(gè)子view,使用inflater對(duì)象的inflat函數(shù)將一個(gè)xml文件轉(zhuǎn)成view對(duì)象(第二個(gè)參數(shù)一般為null) 然后如主程序中的一樣,定義各個(gè)子控件的控制變量,只不過(guò)是view的子控件 最后子控件的控制變量用構(gòu)造函數(shù)傳進(jìn)來(lái)的數(shù)據(jù)源(封裝了item的幾個(gè)部件所需參數(shù)的類(lèi)的list)來(lái)更新界面,就如主程序中的mTextView.setText()一樣。 position是函數(shù)傳進(jìn)來(lái)的參數(shù),用來(lái)表示位置(第幾個(gè)item),安卓自動(dòng)調(diào)用,只需使用即可查看全部
-
自定義的Adapter文件的初始化,需要用inflator,這里在構(gòu)造函數(shù)里面將inflator定義為在主view里面使用的,一般的context對(duì)象使用this即可查看全部
-
然后就是實(shí)現(xiàn)自己定義的適配器,baseAdapter是一個(gè)抽象基類(lèi),前面的幾個(gè)方法都沒(méi)有實(shí)現(xiàn),同時(shí)需要我們自己定義數(shù)據(jù)類(lèi)型和構(gòu)造函數(shù),然后實(shí)現(xiàn)這4個(gè)方法查看全部
-
然后定義一個(gè)類(lèi),類(lèi)中保存item的數(shù)據(jù)類(lèi)型的結(jié)構(gòu),比如有一個(gè)int(圖片id)兩個(gè)string,定義構(gòu)造方法等,然后在主函數(shù)中就可以定義一個(gè)這個(gè)類(lèi)的list查看全部
-
BaseAdapter的使用,其四個(gè)函數(shù)。適配器的作用是將一定的數(shù)據(jù)顯示在一些控件如listview和gridview上。每個(gè)item包含自己的xml布局文件需要自己定義查看全部
-
數(shù)據(jù)適配器查看全部
-
baseAdapter查看全部
-
baseAdapter 文藝式查看全部
-
Adapter繼承自BaseAdapter 中的將XML轉(zhuǎn)換為View對(duì)象: LayoutInflater mInflater; mInflater=LayoutInflatet.from(context) 在getView中通過(guò) View view=(View)mInflater.inflate(R.layout.xxx,null)加載Item布局轉(zhuǎn)換為View對(duì)象 通過(guò)View對(duì)象訪問(wèn)到Item布局中的控件 ImageView image=(ImageView)view.findViewById(R.id.xxx) 然后通過(guò) image.setImageResource(mlist.getItem(position).XXXid)設(shè)置圖片 數(shù)據(jù)源綁定到ListView上: listView.setAdapter(new MyAdapter(this,datalist數(shù)據(jù)源))查看全部
舉報(bào)
0/150
提交
取消