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

listview 질문입니다.

0 추천
배열에  1 2 3 4 5 라는 애들이 있고 각각 상태값이 있습니다. 상태값에 따라 1인 애들을 먼저 0이면 뒤로 빼려고 하는데요

배열에 상태값은 1 0 1 1 0  이렇게 들어가있다고 가정할 경우 리스트에 찍힐때 1 3 4 2 5 로 찍히게 하고 싶습니다.

getview 에서 상태값을 확인후 0 이라면 새로운 배열에 담아두고 있다가 뒤에 이어서 뿌려주려고 하는데 이런식으로 가능한지 궁금합니다.

너무 초보적인 질문이더라도 답변 부탁드립니다.
숀화이트 (3,310 포인트) 님이 2015년 4월 30일 질문

2개의 답변

0 추천
 
채택된 답변
getView에서 상태체크 하는 것은 매우 비효율적입니다.

Adapter에 인자로 넘기는 배열을 정렬이 된 채로 넘기는게 바람직합니다.

(Adapter 생성전에 상태 체크하라는 얘기입니다.)
Gradler (109,780 포인트) 님이 2015년 4월 30일 답변
숀화이트님이 2015년 4월 30일 채택됨
0 추천

순서바꾸는 메서드 하나 만들고...

순서를 바꾼다면... 메서드콜은 getView 외의 곳에서 하시면 되겠네요...

그리고 어댑터에서 notifyDataSetChanged(); 하면 될거로 보입니다.

익명사용자 님이 2015년 4월 30일 답변
...