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

리스트뷰에 대해 조언 좀 부탁드립니다..

0 추천

안녕하세요. 안드로이드 커스텀 리스트뷰 드래그/드롭 구현을 하려고 합니다.

예제소스를 보면서 하나씩 구현 중인데요..

크게 두개의 클래스로 나뉘어있습니다.

하나는 메인액티비티 이고, 다른 하나는 listview를 상속받는 클래스입니다.

앱의 전체 레이아웃이라거나 기능, 리스트뷰,어댑터,어레이어댑터 생성및 사용은 main에서 하고있고,

mylistview 클래스에서 드래그/드롭이 어떤식으로 이루어 지나 분석하고있습니다.

현재 버튼을 하나씩 누를 때마다 동적으로 listview에 row가 1개씩 추가 됩니다. 

이 동적으로 추가된 row를 롱클릭 했을 때 움직이게 하고싶은데 mylistview 부분을 보면

onitemlongclickListener가 있습니다. 여기서 롱클릭을 감지하여 기능을 수행하는 것 같은데,..

동적으로 추가된 row에 항상 포함되어있는 특정버튼을 누르면 롱클릭의 기능을 수행하도록 하고싶습니다.

getview내부에선 가능할 것 같은데, mylistview 클래스에서 그 특정버튼의 click 을 감지할 수는 없는

것인지요..?

 

-mylistview-

public class mylistview extends ListView {

setOnItemLongClickListener(mOnItemLongClickListener);

private AdapterView.OnItemLongClickListener mOnItemLongClickListener = new AdapterView.OnItemLongClickListener() {
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos,
                long id) 
        {
            Log.e("OnItemLongClickListener","OnItemLongClickListener");
            ~그외의 기능~
            return true;
        }
    };

 

망고사탕 (5,000 포인트) 님이 2016년 6월 2일 질문
망고사탕님이 2016년 6월 2일 수정

1개의 답변

0 추천

row에 항상 포함되어있는 특정버튼을 누르면 롱클릭의 기능을 수행하도록 하고싶습니다.

==> listivew.performLongClick();

aucd29 (218,390 포인트) 님이 2016년 6월 3일 답변
...