Java – Sorts the ArrayList based on integers

Sorts the ArrayList based on integers… here is a solution to the problem.

Sorts the ArrayList based on integers

When I get the data in the ListView, I get the data

in the same order, but what if I want to sort the data based on MemberID, but I want to show the most recent at the top

public class AppointmentsActivity extends Activity {

...
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

....
        adapter = new MembersAdapter (MembersActivity.this, R.layout.adapter_members, membersArrayList);

listView.setAdapter(adapter);

}

........
}

Solution

Use Collections.sort() to sort the ArrayList, there is an example:

Collections.sort(membersArrayList, new Comparator<Member>(){
    public int compare(Member m1, Member m2) {
        if (m1.getMemberID() == m2.getMemberID()) {
            return 0;
        } else if (m1.getMemberID() > m2.getMemberID()) {
            return 1;
        } else {
            return -1;
        }
    }
});

Related Problems and Solutions