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();

 

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