加载我的数据后,我会在交付之前对其进行排序。
工作完美,除非我在 API < 9 设备上。在那里,什么也没有发生。
有人有正当理由吗?任何解决方法?
CollectionUtils.FINISH_TIME 是我使用的比较器,它看起来像这样:
@Override
public int compare(Workout lhs, Workout rhs) {
return (int) (lhs.finishTime - rhs.finishTime);
}
编辑:执行排序的片段。这是在 Loaders loadInBack 里面
try {
final String json = DataHandler.read(getContext(), DataFiles.LOGGED_WORKOUTS);
if (!TextUtils.isEmpty(json)) {
final ArrayList<Workout> workouts = Lists.newArrayList(new Gson().fromJson(json,
Workout[].class));
Collections.sort(workouts, CollectionUtils.FINISH_TIME);
return workouts;
}
} catch (IOException e) {
Utils.logExceptionAndReport(TAG, e);
}
return Lists.newArrayList();
}