如何在我的Collections.sort完成后调用函数?

时间:2016-12-03 23:47:29

标签: java android sorting listview

我有一个排序方法,但它不允许我调用刷新方法。

我收到错误:尝试完成输入事件但输入事件接收器已被处理

这是我的方法

private void sort(final String field){
    Log.d(TAG, "Sorting on " + field);

    if(GACommuter.rideMatches != null) {

        Collections.sort(GACommuter.rideMatches, new Comparator<Ride>() {

            @Override
            public int compare(Ride ride1, Ride ride2) {
                switch (field) {
                    case "home":
                        return ride1.getDistanceFromHome().compareTo(ride2.getDistanceFromHome());
                    default:
                        return ride1.getDistanceFromWork().compareTo(ride2.getDistanceFromWork());
                }
            }
        });
    }
    refreshListView();
}

我的refreshListView方法只是更新ListView中的可见项。

1 个答案:

答案 0 :(得分:0)

我想,在点击列表视图项时调用sort,因此存在冲突。

您可以考虑使用PostDelayed而不是仅调用refreshListView:

 listView.postDelayed(new Runnable() {
    public void run() { refreshListView(); }
 }, 100);