如何重新排列ListView中的数据?

时间:2016-10-10 18:07:18

标签: java android

我有一个EditText,用户在其中输入数字。然后该框使用Button的帮助将数据发送到ListView。我想让ListView重新排列其数据,使数字从最小到最大排序。

我该怎么做?

3 个答案:

答案 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“重绘”。

如果列表包含整数,则将从“最小到最大”排序,如果列表包含字符串,则它将按字典顺序排序,或按字母顺序排序。