I want to do sorting of data on click of a button.
I am parsing a XML and storing its value in a List with the help of this class
public class MyTripRespone {
private List<MyTripCorporateBookingApprovals> coroprateBookingDetails = null;
public List<MyTripCorporateBookingApprovals> getCoroprateBookingDetails() {
return coroprateBookingDetails;
}
public void setCoroprateBookingDetails(
List<MyTripCorporateBookingApprovals> coroprateBookingDetails) {
this.coroprateBookingDetails = coroprateBookingDetails;
}
}
In the Approved Class i have 3 values that are date.id,name.
public class MyTripCorporateBookingApprovals {
private String insertTime ="";
private String txid ="";
private String journeyDate = "";
private String passengerFirstName = "";
public String getInsertTime() {
return insertTime;
}
public void setInsertTime(String insertTime) {
this.insertTime = insertTime;
}
public String getTxid() {
return txid;
}
public void setTxid(String txid) {
this.txid = txid;
}
public String getJourneyDate() {
return journeyDate;
}
public void setJourneyDate(String journeyDate) {
this.journeyDate = journeyDate;
}
public String getReturnDate() {
return returnDate;
}
public void setReturnDate(String returnDate) {
this.returnDate = returnDate;
}
public String getPassengerTitle() {
return passengerTitle;
}
public void setPassengerTitle(String passengerTitle) {
this.passengerTitle = passengerTitle;
}
public String getPassengerFirstName() {
return passengerFirstName;
}
public void setPassengerFirstName(String passengerFirstName) {
this.passengerFirstName = passengerFirstName;
}
}
Likewise for name and id from this I am putting the values in the layout that I am inflating dynamically in a loop. So I want when the user clicks on sortByDate. The values are arranged by date in a decreasing order. Means latest date first and then so on. How can we do this? Please help .
After kalyan suggestion
public class MyTripComparator implements Comparator<MyTripCorporateBookingApprovals>{
@Override
public int compare(MyTripCorporateBookingApprovals lhs,
MyTripCorporateBookingApprovals rhs) {
return lhs.getJourneyDate().compareTo(rhs.getJourneyDate());
}
}
public void sortByDate(View v) {
Collections.sort(//what i have to here, new MyTripComparator());
}