android之ListView

想使用一個列表來顯示下載數據

步驟如下:

第一步:定義一個佈局,用來顯示listview的item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@id/LicenseActivity_ModelName"
        android:layout_width="160dp"
        android:layout_height="wrap_content">
    </TextView>
    <TextView
        android:id="@id/LicenseActivity_DownState"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </TextView>
</LinearLayout>

第二步:在需要顯示的頁面定義一個ListView

    <ListView
        android:id="@id/LicenseActivity_ListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@id/LicenseActivity_DownModel"
        app:layout_constraintRight_toRightOf="parent">
    </ListView>

第三步:準備數據

定義list存放數據

List<ConcurrentHashMap<String, Object>> listitem = new ArrayList<ConcurrentHashMap<String, Object>>(); //存儲數據的數組列表

 數據賦值

        for (String item : ListModel)
        {
            ConcurrentHashMap<String, Object> map = new ConcurrentHashMap<String, Object>();
            map.put("ModelName",item);
            map.put("DownState","0");
            listitem.add(map);
        }

定義SimpleAdapter,這裏參數說明一下:

getApplicationContext():獲取上下文 
listitem:定義的List用來存放數據的 
R.layout.licensemodellist:第一步定義的佈局文件
new String[]{"ModelName", "DownState"} :list裏面的key的值
new int[]{R.id.LicenseActivity_ModelName, R.id.LicenseActivity_DownState}:佈局文件裏面定義的id,注意這裏的顯示順序。
        myAdapter= new SimpleAdapter(getApplicationContext(), listitem, R.layout.licensemodellist,
                new String[]{"ModelName", "DownState"},
                new int[]{R.id.LicenseActivity_ModelName, R.id.LicenseActivity_DownState});

第四步:給listview設置適配器

 mListView.setAdapter(myAdapter);

第五步:如果有數據更新需要執行更新函數,記得一定要在UI線程執行

myAdapter.notifyDataSetChanged();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章