Android ContentResolver, как указать порядок сортировки?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android ContentResolver, как указать порядок сортировки?

Сообщение Anonymous »

Я пытаюсь отсортировать mp3-файлы по алфавиту в правильном порядке, но безуспешно.
Я пробовал использовать другой порядок сортировки, но это не работает.

Код: Выделить всё

List listUriSub = new ArrayList();
ContentResolver contentResolver = mContext.getContentResolver();
Timber.tag("SUB_FOLDER_NODE").e(" %s", rootUri.getPath());
String sortOrder = DocumentsContract.Document.COLUMN_DISPLAY_NAME + " DESC";
String sortOrder2 = DocumentsContract.Document.COLUMN_DISPLAY_NAME + " COLLATE NOCASE ASC";
Cursor c = contentResolver.query(rootUri, new String[]{
DocumentsContract.Document.COLUMN_DOCUMENT_ID,
DocumentsContract.Document.COLUMN_DISPLAY_NAME,
DocumentsContract.Document.COLUMN_MIME_TYPE},
null, null, sortOrder2);
try {
while (c.moveToNext()) {
final String docId = c.getString(0);
final String name = c.getString(1);
final String mime = c.getString(2);
// Timber.tag("SCAN_FILE_ID").e( "docId: " + docId + ", name: " + name + ", mime: " + mime);
Timber.tag("FILE_ORDER_NAME").e(name);
//IS DIRECTORY
if (isDirectory(mime)) {
final Uri newNode = DocumentsContract.buildChildDocumentsUriUsingTree(rootUri, docId);
// Timber.tag("FOLDER: ").e(name);
}
//IS FILE
else {
Timber.tag("FILE: ").e(name);
if (name.contains(".mp3") || name.contains(".MP3")) {
final Uri newNode = DocumentsContract.buildChildDocumentsUriUsingTree(rootUri, docId);
listUriSub.add(newNode);

}
}
}
}
Пример ВЫХОДА 1

Код: Выделить всё

02a_WP_Druzyna_Pierscienia_Prolog_O_fajkowym_zielu.mp3
01a_WP_Druzyna_Pierscienia_Prolog_W_sprawie_hobbitow.mp3
01b_WP_Druzyna_Pierscienia_Prolog_W_sprawie_hobbitow.mp3
Должно быть

Код: Выделить всё

01a_WP_Druzyna_Pierscienia_Prolog_W_sprawie_hobbitow.mp3
01b_WP_Druzyna_Pierscienia_Prolog_W_sprawie_hobbitow.mp3
02a_WP_Druzyna_Pierscienia_Prolog_O_fajkowym_zielu.mp3
Пример вывода

Код: Выделить всё

02_metro_2035.mp3
05_metro_2035.mp3
03_metro_2035.mp3
04_metro_2035.mp3
01_metro_2035.mp3
Должно быть

Код: Выделить всё

01_metro_2035.mp3
02_metro_2035.mp3
03_metro_2035.mp3
04_metro_2035.mp3
05_metro_2035.mp3
Проблема может быть в "_" в названии или цифрах?

Подробнее здесь: https://stackoverflow.com/questions/746 ... sort-order
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»