gpt4 book ai didi

java - 自定义 ListAdapter 不显示所有字段

转载 作者:行者123 更新时间:2023-12-01 13:57:53 25 4
gpt4 key购买 nike

我有一个包含多个字段的类,我只想在 ListView 中显示其中一个字段

class FOO {
String f1;
String f2;
String f3;
};
FOO foo = new FOO;
FOO [] fooArray = new FOO[5];

我使用标准 ArrayAdapter 来显示它,并添加 foo.f1 作为要在 ListView 中显示的字段。我当然可以对 foo.f1 进行排序。我现在需要能够对 foo.f2 或 foo.f3 进行排序。我可以构建一个自定义 ArrayAdapter,它将 foo 作为其元素,但只显示 foo.f1。然后我就可以访问 foo.f2 和 foo.f3 并可以对这些字段进行排序。有没有更简单的方法来执行此操作,而无需创建自定义 ArrayAdapter?

foo 元素数组在 ArrayAdapter 之外可用,我可以对其进行排序,从 ArrayAdapter 中删除所有元素,然后以新的排序方式重新添加它们,但我想使用 的排序功能ArrayAdapter。

欢迎任何指点。

最佳答案

ArrayAdapter.sort采用 Comparator 对象作为参数。因此,您可能拥有三个不同的比较器或参数化比较器,并根据需要对项目进行排序。

Comparator<FOO> f1 = new Comparator<FOO>(){
@Override
public int compare(FOO lhs, FOO rhs) {
return lhs.f1.compareTo(rhs.f1);
}
};

Comparator<FOO> f2 = new Comparator<FOO>(){
@Override
public int compare(FOO lhs, FOO rhs) {
return lhs.f2.compareTo(rhs.f2);
}
};

...
myListAdapter.sort(f1); myListAdapter.sort(f2);

关于java - 自定义 ListAdapter 不显示所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19527701/

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