我试图从单个字符串数组中创建具有多列的ListView。
我已经尝试搜索一些参考文献,但是在那里提出的每个问题与我尝试做的事情都大不相同。通常,他们试图在ListView的不同列中显示不同的数据。
同时,我想要的是单个数据数组中的多列。例如:
ListView
Column-1 Column-2
Data1 Data2
Data3 Data4
Data5 Data6
DataN DataN+1
类似的事情,并且还有单个滚动条。
所以,我想一次将数据数组拆分为两列。
这是一个使用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>