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

GridView를 사용해서 Drag and Drop으로 순서 변경하는것은 어떻게 하나요?

0 추천

현재 그리드뷰에 각 아이템으로는 이미지뷰만 띄어주고 있습니다.

어댑터에서 getView 메소드안에 이미지뷰에 setTag로 각각의 position을 넣어줬습니다.

그리고 이 이미지뷰를 롱클릭했을때

ClipData clipData = ClipData.newPlainText("", "");
View.DragShadowBuilder dsb = new View.DragShadowBuilder(view);
view.startDrag(clipData, dsb, view, 0);
view.setVisibility(View.INVISIBLE);
 
이렇게 해서 드래그 되게 했고요.
그리고 이미지뷰에 드래그 리스너를 받아서
 
DragEvent.ACTION_DRAG_ENTERED 로 해당 위치가 들어왔을때 
 
v.getTag()로 해당 포지션을 알아내서, 드래그 된 거와 해당위치가 들어왔을때 리스트 데이터 순서를 변경해주고
 
notify하는 식으로 구현을 했습니다.
 
그런데 이게 맨 처음 위치로 이동을 했을땐, 동작하지가 않더라구요.
 
어떤식으로 구현해야 할까요..?? 안드로이드 디벨로퍼좀 보고 해도 힘드네요. ㅠ
 
도와주세요!!
gusdn9 (1,560 포인트) 님이 2013년 7월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...