안녕하세요, 카메라 해상도 목록을 구성하고 있습니다.
ArrayAdapter<String> adapter 를 만들고
adapter.add("1280*720"+"(0.9M));
이런식으로 ArrayAdapter에 데이터를 추가해주었는데요.
mCamera.getParameters().getSupportedPictureSizes()들의 목록에서 뽑아오는건데
이게 또 큰 순서대로 있는게 아니더라구요.
그러다보니 데이터 추가 후 리스트를 확인해보면
960*720 (**M)
720*480 (**M)
640*480 (**M)
1920*1080 (**M)
1280*720 (**M)
이렇게 나오더라구요.
그래서
adapter.sort(new Comparator<String>() {
public int compare(String lhs, String rhs) {
// return c.compare(lhs, rhs); // 올림차순 정렬(ㄱ,ㄴ,ㄷ...ㅎ)
return c.compare(rhs, lhs); // 내림차순 정렬(ㅎ,ㅍ,ㅌ...ㄱ)
}
});
위의 코드를 이용해서 정렬을 하려고 했는데
제가 ArrayAdapter에 추가한건 숫자가 아닌 문자열 형태이잖아요,
그럴 경우에 특수문자도 있고해서 그런지 정상적으로 정렬이 안될 것 같아서요.
그래서 그냥 저 sort 메소드 써보긴 했지만 역시나 효과는 없었습니다.
이런 경우는 어떤 식으로 비교 정렬을 해줘야 할까요?