我正在制作一个应用程序,其中用户输入任务显示在cardview中。每个任务都有自己的截止日期,截止日期到了,它将显示在列表的底部。
在下面的代码中, 截止日期通过我的任务对象类传递。将到期日期(.getTaskDate)与当前日期进行比较之后,我应该将过期的任务放在此处的底部。
在我的适配器内部:
//Overdue tasks
String Currdate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(Currdate.compareTo(tasks.getTaskDate())>0 )
{
taskViewHolder.cardView.setBackgroundColor(mContext.getResources().getColor(R.color.colorRed));
}
我应该如何实现此功能,它是在MainActivity还是我的适配器内部完成的?我有类似的日期排序功能,可以在MainActivity中按升序对日期进行排序:
private static void sortDates(final List<TaskObject> listViewItems) {
Collections.sort(listViewItems, new Comparator<TaskObject>() {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(TaskObject t1, TaskObject t2) {
try {
return dateFormat.parse(t1.getTaskDate()).compareTo(dateFormat.parse(t2.getTaskDate()));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
}
答案 0 :(得分:0)
只要颠倒您的排序就可以了。将比较器中的return语句更改为
iframe