I Have one Custom arraylist which contains multiple parameters along with time.
I want to sort that list according to time Parameter in asending and desending format
I searched alot Here are some links Sort objects in ArrayList by date?
Sort ArrayList with times in Java
and many more but none worked
Here is my code
function calling on Click
private void callTimeSorting(ArrayList<ObjectClass>solutions){
try{
ArrayList<ObjectClass> tempList = new ArrayList<>();
if (tempList.size() > 0){tempList.clear();}
tempList.addAll(solutions);
if (mTimeTag == 1) {
if (!mAsendingTime) {
Collections.sort(tempList, AsendingTimeComparator);
mAsendingTime = true;
mAdapter.notify();
} else {
Collections.sort(tempList, DesendingTimeComparator);
mAsendingTime = false;
}
}
}
OnClick method
@Override
public void onClick(View view) {
int id = view.getId();
switch (id) {
case R.id.tvTimings :
mTimeTag = 1 ;
callTimeSorting(mSolutions) ;
mAdapter.notifyDataSetChanged();
break;
}}
AsendingComparator
private static Comparator<ObjectClass> AsendingTimeComparator = new Comparator<ObjectClass>() {
@Override
public int compare(ObjectClass solution1, ObjectClass solution2) {
String time1 = solution1.getDepartureDateTime();
String time2 = solution2.getDepartureDateTime();
return time1.compareTo(time2);//asending
}
};
private static Comparator<ObjectClass> DesendingTimeComparator = new Comparator<ObjectClass>() {
@Override
public int compare(ObjectClass solution1, ObjectClass solution2) {
String time1 = solution1.getDepartureDateTime();
String time2 = solution2.getDepartureDateTime();
return time2.compareTo(time1);//descending
}
};
I dont know why my sorted list is not attaching to recyclerView??