我有一个EditText,用户在其中输入数字。然后该框使用Button的帮助将数据发送到ListView。我想让ListView重新排列其数据,使数字从最小到最大排序。
我该怎么做?
答案 0 :(得分:1)
在传递给listview适配器之前对数据进行排序。
对于将来的问题,请粘贴一些您尝试过的代码。
答案 1 :(得分:1)
ListView也被适配器填充,对吧? 然后它就像这样。
为您的数据类型编写一个comperator,不知道是否有预制的int。
Comparator<MyClass> comparator_date = new Comparator<MyClass>() {
@Override
public int compare(MyClasslhs, MyClassrhs) {
int compare_score;
compare_score = lhs.yourCompareFunction(rhs);
//replace with a function that compares your type and returns an int
return compare_score;
}
};
现在,您可以使用比较器调用列表中的排序方法。
Collections.sort(releasedEpisodeList, comparator_name);
告诉适配器更新列表视图
Adapter.notifyDataSetChanged();
这样您就可以在创建后更新ListView。
答案 2 :(得分:0)
我假设你有一些Arraylist
整数或字符串?
您可以Collections.sort(list)
,然后adapter.notifyDatasetChanged()
告诉ListView“重绘”。
如果列表包含整数,则将从“最小到最大”排序,如果列表包含字符串,则它将按字典顺序排序,或按字母顺序排序。