Как сделать сортировку контактов по алфавиту?
Кто подскажет как отсортировать список контактов по алфавиту? Вот мой layout.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="10dp"
android:paddingRight="5dp"
android:paddingLeft="10dp"
android:clipToPadding="false">
<RelativeLayout
android:layout_width="50dp"
android:layout_height="50dp">
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center"
android:text="A"
android:textColor="#282828"
android:textSize="30dp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="55dp"
android:id="@+id/rl_contact_get_name">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/iv_image_contact_get_name"
android:layout_gravity="left|start"
android:background="@mipmap/ic_launcher_round"/>
<TextView
android:id="@+id/tv_name_contact_get_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:layout_marginLeft="55dp"
android:text="Меня зовут ..."
android:textColor="#8c8c8c"
android:textSize="20dp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="25dp"
android:layout_marginStart="55dp"
android:layout_marginLeft="55dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_time_contact_get_name"
android:layout_marginRight="10dp"
android:text="Время"
android:layout_gravity="right"
android:format12Hour="hh:mm"
android:textSize="12dp" />
</RelativeLayout>
<ImageView
android:layout_width="23dp"
android:layout_height="23dp"
android:layout_gravity="right"
android:layout_marginTop="13dp"
android:id="@+id/iv_more_contact_requests"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
android:visibility="invisible"
android:background="@drawable/more_green_fon"/>
</RelativeLayout>
`
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
1) если у вас просто масив из строк то используйте Arrays.sort(contacts_array)
2)если у вас массив из классов то используйте этот код(здесь в роли класа Contact выступает класс"A"):
public class SortTest {
public static void main (String [] av) {
A [] arr = new A[4];
arr[0] = new A(12,"x12");
arr[1] = new A(16,"x16");
arr[2] = new A(1,"x1");
arr[3] = new A(62,"x62");
Arrays.sort(arr);
for (A a : arr)
System.out.println(a);
}
}
class A implements Comparable {
private int p;
private String s;
A() {}
A(int v, String b) {
p = v;
s = b;
}
@Override
public int compareTo(Object arg) {
return p - ((A)arg).p;
}
public String toString() {
return p+"=> "+s;
}
}