1) 먼저 이미지가 여러 개 복사되는 현상에 대해서 예상되는 부분은
onItemClick() 메소드 부분에 있는 for문이 어떤 용도인지 모르겠습니다만
아래와 같이 for문이 돌면서 addView()를 여러번 실행하여 100개의 이미지가 겹쳐 써진 것이 아닌가 싶습니다.
for (int i = 0; i < 100; i++) {
...
layout.addView(goods);
...
}
즉, 이미지가 복사되는 것이 아니라 100개의 이미지가 겹쳐 그려져 있기 때문에 드래그해도 계속 이미지가 나타나 보이는 것 같습니다.
for문을 빼 보시거나 for문의 i < 100라고 되어있는 부분을 i < 2 로 바꿔보면 확인이 가능할 것 같습니다.
2) 그리고 클릭한 뷰에 액션을 적용하는 버튼을 만드는 방법에 대해서는 아래의 방식도 참고가 되지 않을까 싶습니다.
일단 currentSelectedView라는 이름으로 객체를 전역으로 선언해놓고
소스 상의 ACTION_UP 부분에 아래와 같이 현재 클릭한 뷰를 currentSelectedView에 저장합니다.
...
} else if (event.getAction() == MotionEvent.ACTION_UP) {
...
currentSelectedView = goods
...
}
...
그리고 로테이트 버튼 등을 클릭했을 때 아래와 같이 처리하도록 합니다.
if(currentSelectedView != null) {
currentSelectedView.setRotation(90);
}
댓글