【发布时间】:2020-08-28 13:55:25
【问题描述】:
我有一个列表视图 lv,其中包含以下项目:
Hyda, 25.00
Bran, 11.75
Geda, 2.55
我想按第二列对项目进行排序,以便列表视图显示:
Geda, 2.55
Bran, 11.75
Hyda, 25.00
我在下面使用的代码仅按第一列排序;即它返回:
Bran, 11.75
Geda, 2.55
Hyda, 25.00
ArrayList<String> list = new ArrayList<>();
ArrayAdapter<String> adapter;
lv = rootView.findViewById(R.id.lvData);
adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_list_item_1, list);
list.add("Hyda"+", "+"25.00");
list.add("Bran"+", "+"11.75");
list.add("Geda"+", "+"2.55");
lv.setAdapter(adapter);
btnSort = rootView.findViewById(R.id.sortButton);
btnSort.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Collections.sort(list,new myComparatorNumbers());
for (String i:list){
lv.setAdapter(adapter);
}
}
});
private class myComparatorNumbers implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
任何人都可以帮助如何按第二列(即按数值)对其进行排序吗?我发现的大多数解决方案都集中在一个列数据数组上
【问题讨论】:
标签: android sorting android-listview