標籤:android listview simpleadapter
android開發最常用例子整理----(2)自訂ListView(SimpleAdapter實現)
一、Activity
MainActivity.java源碼:
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//Step1String[] contentArray = new String[]{"內容1","內容2","內容3","內容4","內容5"};ListView lv = (ListView)findViewById(R.id.lv);//Step2ArrayList<HashMap<String,Object>> lists = new ArrayList<HashMap<String,Object>>();for(int i=0; i<contentArray.length; i++){HashMap<String,Object> map = new HashMap<String,Object>();map.put("startTimeText", "22:00"); map.put("endTimeText", "23:00"); map.put("separator", R.drawable.separator); map.put("content", contentArray[i]); lists.add(map);}//Step3SimpleAdapter adapter = new SimpleAdapter(this,lists,R.layout.list_item,new String[]{"startTimeText","endTimeText","separator","content"},new int[] {R.id.startTimeText,R.id.endTimeText,R.id.separator,R.id.content});//Step4lv.setAdapter(adapter);}}
二、xml布局檔案
(1)MainActivity主介面的布局源碼activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="wrap_content"/></LinearLayout>
(1)ListView列表單元的布局源碼list_item.xml:
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="60dp" android:gravity="center_vertical"android:layout_width="match_parent"android:orientation="horizontal"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2"android:gravity="center_vertical"android:orientation="vertical"> <TextView android:id="@+id/startTimeText" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="22:00"/> <TextView android:id="@+id/endTimeText" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="23:00"/> </LinearLayout> <ImageView android:id="@+id/separator" android:layout_weight="1" android:layout_width="0dp"android:layout_height="wrap_content" /> <TextView android:id="@+id/content" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="12"/> </LinearLayout>
三、相關資源
res/drawable-mdpi/下的檔案:
separator.png
四、效果
android開發最常用例子整理----(2)自訂ListView(SimpleAdapter實現)