Android:来自单个数据的多列ListView

问题描述 投票:0回答:1

我试图从单个字符串数组中创建具有多列的ListView。

我已经尝试搜索一些参考文献,但是在那里提出的每个问题与我尝试做的事情都大不相同。通常,他们试图在ListView的不同列中显示不同的数据。

同时,我想要的是单个数据数组中的多列。例如:

ListView

Column-1     Column-2

Data1        Data2

Data3        Data4

Data5        Data6

DataN        DataN+1

类似的事情,并且还有单个滚动条。

所以,我想一次将数据数组拆分为两列。

java android android-listview
1个回答
0
投票

这是一个使用Arraylist Hashmap的示例。

ArrayList<HashMap<String, String>> DataList = new ArrayList<>();

此如何在Arraylist哈希图中添加项目

HashMap<String, String> data = new HashMap<>();

data.put("column1", "column1 value");
data.put("column2", "column2 value");
data.put("column3", "column3 value");

DataList.add(data); //1 row of item added in DataList

如何使用SimpleAdapter

SimpleAdapter Adapter = new SimpleAdapter(MainActivity.this, DataList,
                R.layout.YOUR_LISTVIEW_LAYOUT, new String[]{"column1", "column", "column3"},
                new int[]{R.id.column1_textview, R.id.column2_textview, R.id.column3_textview});
        YOUR_LISTVIEW.setAdapter(Adapter);

YOUR_LISTVIEW.xml

<?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="wrap_content"
    android:orientation="vertical"
    android:padding="15dp"
    >

    <TextView
        android:id="@+id/column1_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <TextView
        android:id="@+id/column2_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <TextView
        android:id="@+id/column3_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</LinearLayout>
© www.soinside.com 2019 - 2024. All rights reserved.