2016-10-21 3 views
0

GridLayout 안에 40 개의 ImageView가 있는데, 색상이 다르기 때문에 사용자가 원하는 이미지 나 다른 곳을 터치했는지 알고 싶습니다 (예 : 사용자가 빨간색 이미지를 터치 한 경우). 어떻게해야합니까?Android : 사용자가 부모보기 내부의보기를 터치했는지 감지합니다.

+0

터치 리스너 또는 클릭 수신기를 사용하여이를 달성하고 싶습니까? –

+0

@MohammadAtif 어느 것이 더 낫습니까? 터치 리스너로 어떻게 그걸 얻을 수 있습니까? –

+0

터치 리스너가 초보자에게는 약간 까다 롭기 때문에 클릭 리스너가 더 좋습니다. –

답변

0

각보기에 대해 OnClickListener을 설정하고보기를 저장하십시오. onClick에서보기를 확인하고 클릭 한 이미지 뷰를 확인할 수 있습니다. 유형을 ImageButtons으로 변경하는 것도 고려해 볼 수 있습니다. 당신이 당신의 그리드 클릭 할 수없는에 더 문제가있는 경우

이 체크 아웃 : http://cyrilmottier.com/2011/11/23/listview-tips-tricks-4-add-several-clickable-areas/

TLDR가 : 레이아웃에서 뷰의 초점을 해제합니다.

+0

모든 ImageViews onClick을 설정하면 문제가 해결된다는 것을 알고 있지만보다 효율적인 솔루션을 찾고있었습니다. –

관련 문제