안드로이드 개발 질문/답변
(글 수 45,052)
리스트 뷰를 만들고 아래에 버튼 3개를 달은 후에
버튼을 누름에 따라 다른방식으로 리스트뷰가 sort가 되게 하고싶습니다.
리스트를 만드는 과정은 서버에서 데이트를 받아와 ArrayList를 만들고 이를 ListAdapter를 사용해서 setadapter를 이용했습니다.
그리고 버튼을 누름에 따라 (ex 1번버튼은 이름순, 2번버튼은 장소순 ... ) 다른 방식으로 리스트를 정렬해서 뿌려주려고합니다.
정렬같은경우에는 DB에서 ORDER BY를 하기 때문에 문제가 없는데
문제는! 버튼 리스너를 통해 LISTVIEW를 새로 갱신하는것입니다.!!
notifyDataSetChanged 를 제가 잘못이용한것인지 모르겠는데 작동이 안합니다..
조언부탁드립니다!




버튼에 따른 정렬 문제라면,
정렬 방식을 변경할 때마다 어댑터를 새로 구성해야 합니다.
(아니면, 기존 생성된 어댑터 내부에서 별도록 정렬방식에 따른 키 리스트를 재지정하는 방식으로 사용하셔도 됩니다만...)
정렬 방식에 따른 데이터 생성
생성된 데이터 어댑터 연결
생성된 어댑터 리스트뷰 연결
위의 과정을 onResume() 메서드(또는 별도의 메서드)에 구성하고,
버튼에 의한 정렬 방식이 변경될 때마다 해당 메서드를 재호출 함으로써,
변경된 정렬 방식에 맞게 리스트뷰에 표시되도록 적용할 수 있습니다.