gpt4 book ai didi

java - 将光标数组放入 ListView 但有多列

转载 作者:行者123 更新时间:2023-12-02 08:59:02 25 4
gpt4 key购买 nike

我目前通过数据库查询获取光标数据,将每个选择放入一个数组中,然后显示在我的三个 ListView 之一中。

public void insertData() {
ListView listView = (ListView) findViewById(R.id.listWorkouts1);
ListView listView2 = (ListView) findViewById(R.id.listWorkouts2);
ListView listView3 = (ListView) findViewById(R.id.listWorkouts3);
SQLiteController db = new SQLiteController(this);
String username = ma.id;
//populate an ArrayList<String> from the database and then view it
ArrayList<String> theList1 = new ArrayList<>();
ArrayList<String> theList2 = new ArrayList<>();
ArrayList<String> theList3 = new ArrayList<>();
ArrayList<String> finalList = new ArrayList<>();
Cursor data = db.getUserListContents(username);

if (data.getCount() == 0) {
Toast.makeText(this, "There are no contents in this list!", Toast.LENGTH_LONG).show();
} else {
while (data.moveToNext()) {
theList1.add(data.getString(0));
theList2.add(data.getString(1));
theList3.add(data.getString(2));

ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList1);
listView.setAdapter(listAdapter);

ListAdapter listAdapter2 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList2);
listView2.setAdapter(listAdapter2);

ListAdapter listAdapter3 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList3);
listView3.setAdapter(listAdapter3);
}
}
}

enter image description here

问题是用户可以单独滚动三个 ListView 中的每一个。

如何只使用一个listView,但将数据分开显示在不同的列中?

默认情况下,它会列出前一个值下的所有内容。

每次执行 While 循环时,我都希望数据显示在同一行上,而不是一个接一个地显示。

感谢任何帮助。

最佳答案

您可以使用RecyclerViewGridLayoutManager在你的情况下。这是basic implementation example 。您还可以查看this tutorial也是如此。

您实际上可以创建一个对象并将该对象的列表传递到适配器中以从那里加载项目,而不是单独的列表。例如,考虑下面的类。

public class Workout {
public String name;
public String date;
public String weight;
}

现在,当从 cursor 读取值时,创建 Workout 的对象类并创建一个 List<Workout>然后修改您的适配器以传递此列表。

我希望我能给你一个优雅地实现这个的想法。

关于java - 将光标数组放入 ListView 但有多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60306577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com