gpt4 book ai didi

java - 每行包含多个字符串的 ListFragment

转载 作者:行者123 更新时间:2023-12-02 06:15:07 24 4
gpt4 key购买 nike

我是 Android 开发新手,我正在尝试创建一个 ListFragment,它可以从 3 个 ArrayList 对象创建一个 ListView,每个对象包含 30 个字符串。每行将包含每个数组中的一个字符串。

enter image description here

在我的阅读中,我发现 ListView 本质上是从 ArrayAdapter 创建的。然而,我见过的唯一示例仅显示使用了 1 个 String[] 数组( http://goo.gl/Yrkn0khttp://goo.gl/hqkdl )。

如何将三个数组传递给 ArrayAdapter 来创建此 ListView

最佳答案

ArrayAdapter 可以处理任何类型的列表。如果您需要让 ArrayAdapter 同时对三个单独的列表进行操作,您将需要做两件事:

  • 创建一个新的对象类,它是三个列表的组合,例如。具有三个字段的 Item 类:标题、描述、价格。找到合适的对象后,将三个列表变成一个对象列表。
  • 然后,您需要创建一个扩展 ArrayAdapter 的自定义适配器类,重写 getView 方法,以便正确显示您的项目。

编辑

示例:

public class Item {
private String title, desc, price;
public Item(String title, String desc, String price) {
this.title = title;
...
}
*provide standard getters and setters*
}
...
ArrayList<Item> items = new ArrayList<Item>();
for(int i = 0; i < titles.length; i++) {
items.add(new Item(titles[i], descriptions[i], prices[i]);
}

那么新适配器应采用以下形式

private class CustomAdapter extends ArrayAdapter<Item> {
public CustomAdapter(ArrayList<Item> items) {
super(getActivity(), 0, items);
}
...

关于java - 每行包含多个字符串的 ListFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565391/

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