Java Android:来自单个数据的多列ListView
我试图从一个字符串数组中创建一个具有多列的ListView 我试着搜索一些参考资料,但是每一个被问到的问题都和我想做的完全不同。通常,他们试图在ListView的不同列中显示不同的数据 而我想要的是来自单个数据数组的多列。 例如:Java Android:来自单个数据的多列ListView,java,android,android-listview,Java,Android,Android Listview,我试图从一个字符串数组中创建一个具有多列的ListView 我试着搜索一些参考资料,但是每一个被问到的问题都和我想做的完全不同。通常,他们试图在ListView的不同列中显示不同的数据 而我想要的是来自单个数据数组的多列。 例如: ListView Column-1 Column-2 Data1 Data2 Data3 Data4 Data5 Data6 DataN DataN+1 类似这样的东西,还有一个滚动条 因此,
ListView
Column-1 Column-2
Data1 Data2
Data3 Data4
Data5 Data6
DataN DataN+1
类似这样的东西,还有一个滚动条
因此,我希望看到数据数组一次拆分为两列。这是一个使用Arraylist Hashmap的示例
ArrayList<HashMap<String, String>> DataList = new ArrayList<>();
您的_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>
请添加一些您尝试过的代码。@Nidheesh很抱歉,我认为没有必要在这样的问题上发布代码。首先,我在寻找一个建议,不要修改我当前的代码。第二,当我一开始不知道怎么做的时候,我如何发布代码?它与使用SimpleAdapter的代码没有区别。我想你误解了我的意思。CMIIW。谢谢。尝试使用Arraylist和SimpleAdapter作为listview适配器HI@L2\U摊铺机。非常感谢你的独特想法。它确实解决了我问题中的问题示例。因此,我将把它标记为解决方案。但是,如果其他读者正在为同样的问题寻找更多的灵活性和定制。例如,L2_摊铺机的答案是好的,但对于每个数据及其视图自定义,可能有独立的侦听器的限制。我建议查看RecyclerView+GridLayoutManager以获得更多控制。谢谢
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);
<?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>