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

변수를 생성해서 대입하고 addView 할경우 에러가 나요.

0 추천

버튼을 클릭하고 1초가 지났을때 클릭한 버튼 이랑 똑같은 정보를 가지고 있는 새로운 뷰를 생성해서 터치 포인트를 따라 가게 하려고합니다  이뷰를 다시 addView 를 할경우 

The specified child already has a parent. You must call removeView() on the child's parent first.

에러가 나는데요 참조한 뷰를 또 집어넣으려고 한다고 해서 새로 FrameLayout 변수를 만들었습니다.

 

FrameLayout Empty = new FrameLayout(this);

Empty=ArrayList.get(0); ArrayList.get(0); <--ArrayList에 FrameLayout로 버튼을 만들었습니다.

 

변수를 새로 생성하고 그 변수값을 대입하면 새로운 객체가 되는것이 아닌가요 ?

왜이런현상이 생기는지 모르겠습니다 ㅠ

익명사용자 님이 2015년 4월 3일 질문

2개의 답변

0 추천
parent view 에 붙어 있는  child view 를 touch point 를 따라가게 하려면 onTouchEvent 에 child view 의 Translation X and Y 를 직접 조정해서 이동하세요

view 를 새로 생성한다는 건 엄청나게 부하가 많이 걸리는 일 입니다.
aucd29 (218,390 포인트) 님이 2015년 4월 3일 답변
aucd29님이 2015년 4월 3일 수정
답변감사드립니다. 제가 구현하려는기능이 원래 뷰는 제자리에 있고 뷰를 롱클릭시에 같은 뷰를 생성해서 다른 뷰랑겹치면 정보가 바뀌는 기능을 구현하는거라서..요 ㅠ
이글을 참고해보세요 android 에서 기본적으로 drag and drop 을 지원합니다.

http://www.vogella.com/tutorials/AndroidDragAndDrop/article.html
0 추천
해당 객체를 클립보드에 복사해서 드래그할때 끌고가는 흉네를 낸후

드롭될때 그 위치에 새로운 객체를 생성해서 add 해주심 되실듯..
nicehee (73,100 포인트) 님이 2015년 4월 4일 답변
...