效果圖如下:
在進(jìn)入本次學(xué)習(xí)前甸昏,讓我們先了解ArrayAdapter刃永、SimpleAdapter的用法
ArrayAdapter常用來顯示單行文本硬猫,它支持泛型的操作育八,具體用法如下:
ArrayAdapter<T> adapter = new ArrayAdater<T>(Context context,int resource对途,Listobjects);
Context:上下文,指當(dāng)前的Activity
Resource:android sdk 內(nèi)置的一個(gè)布局髓棋,它里面只有一個(gè)TextView实檀,用來加載單條數(shù)據(jù)(android.R.layout.simple_list_item_1)
Objects:List<T>類型惶洲,我們要顯示的數(shù)據(jù)
SimpleAdapter常用來自定義Adapter,它具有最好的擴(kuò)充性膳犹,可以自定以各種效果,具體用法如下:
SimpleAdapter msimpleAdapter = newSimpleAdapter(Context context,List> data,intresource,String[] from, int[] to);
Context:上下文恬吕,指當(dāng)前的Activity
Data:基于Map的List類型,指我們要顯示的數(shù)據(jù)
Resource:layout布局须床,可以是系統(tǒng)提供的layout铐料,也可以是自定義的layout
From:Map中的key值
To:from相對應(yīng)布局組件的id
在使用SimpleAdapter適配器時(shí)需要注意的一點(diǎn)是:SimpleAdapter的數(shù)據(jù)源是HashMap列表的數(shù)據(jù)結(jié)構(gòu)
ArrayAdapter、SimpleAdapter了解完后豺旬,讓我們進(jìn)入我們這次的主題吧
上面的效果圖是基于兩個(gè)ListView實(shí)現(xiàn)的钠惩,具體的邏輯如下:
在orderActivity的布局中包含兩個(gè)ListView(left_listView族阅、right_listView),left_listView加載的數(shù)據(jù)是text篓跛,因此坦刀,選用的是ArrayAdapter,而right_listView中item的布局需要自定義實(shí)現(xiàn)愧沟,所以選用的是SimpleAdapter
具體代碼實(shí)現(xiàn)如下:
OrderActivity的布局orderlist.xml
Right_listView中自定義的item布局listitem.xml
左邊ListView的數(shù)據(jù)源SelectDish.class
右邊ListView的數(shù)據(jù)源Dish.class
orderActivity的實(shí)現(xiàn):
而模擬數(shù)據(jù)的類orderData.class