마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

폴더의 파일 리스트 (리싸이클뷰) 순서 [closed]

0 추천

안녕하십니까?

초보가 다시 질문 드립니다.

 

안드로이드폰의 특정 폴더에 파일이 저장되어 있고, 그 폴더의 파일명을 하나 하나 읽어 들여서 리사이클뷰에 표시하였습니다.

그러면 파일 이름으로 sorting 되어서 나타나야 한다고 생각하는데, 아래 사진처럼 뒤섞여 있습니다. 혹시 어떤 순서로 리사이클뷰에 나타나는지요?

만들어진 시각 순서도 아니고, 파일 사이즈 크기 순서도 아닙니다. 

질문을 종료한 이유: 해결되었습니다.
원래자유 (470 포인트) 님이 2022년 2월 3일 질문
원래자유님이 2022년 2월 4일 closed
파일 생성날짜 아니면 업데이트 날짜 아닐까요?
그리고 리스트를 파일이름이로 정렬하신다음에 리사이클러뷰에 보여주시면 좋을 듯하네요. 아마 화면에 정렬기능도 추가하실 것 같구요. 코틀린에 Collection.sort Collection.sorted 같은 이미 내장된 함수가 존재하니 검색해 보세요.
감사합니다.

파일 이름이 파일 생성 시점의 날짜_시간_초이므로 생성 날짜도 아니고, 한번 만들어지면 끝이므로 업데이트 날짜도 아닙니다.

어제 질문 올리고 저도 정렬(sorting)에 대해서 어디선가 본 것 같아서 정렬 공부/코딩 시도 중에 있습니다.

감사합니다.
정답인지는 모르지만 저의 경우 아래와 같이 하여 성공하였습니다.

 adapterVideo = new Adapter_Gallery();

        File directory = new File(path);
        File[] files = directory.listFiles();
      // Collections.sort(files); // 이런 예제도 있던데 이유는 모르지만 저의 경우는 에러가 납니다.
        Arrays.sort(files); //정렬 성공

        for(int i=0; i<files.length; i++) {
            String str = files[i].getName();
            adapterVideo.setArrayData(str);
        }

        recyclerView.setAdapter(adapterVideo);

그래서 리싸이클러뷰에서 정렬되어 나타납니다.

감사합니다.
답글 달 때, 코틀린인줄 착각했네요. 맞게 처리하신 것 같아요. 축하드려요.
이미 closed 되었지만 지나가다 참견하고 갑니다.
위의 경우 files는 File 객체의 배열이므로, Collections.sort가 아니라 Arrays.sort 메소드를 써야하는 것으로 보입니다.
Collections.sort 메소드는 List, Queue, Set, Map 등과 같은 Collection 객체에 사용합니다.
감사합니다.
해결되니 일단 기뻐서 Collections.sort와 Arrays.sort 가 뭔지 차이점 확인하지 않고 그냥 넘어 갔습니다. 이번 기회에 모두 알고 넘어 가는 것이 좋은데 그러지 않았는데 참견(?) 해 주셔서 더 알게 되었고, 뭐로 검색해 보아야 하는지 알게 되었습니다.
감사합니다.

가능하시면 앞으로도 계속 참견 해 주세요.
...