Android:来自单个数据的多列 ListView
Android: Multiple Column ListView from Single Data
我试图从单个字符串数组创建一个包含多列的 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 中添加项目的方式
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>
我试图从单个字符串数组创建一个包含多列的 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 中添加项目的方式
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>