안드로이드 개발 질문/답변
(글 수 45,052)
onTouchEvent ( ) 메소드 내에서 현재 터치하고 있는 뷰의 ID를 알 수 있는 방법 없나요?
event . getPointerId (0) 이거 쓰면 될 줄 알았더니 이거 아닌가 보네요.
혹시 위의 방법이 가능한가요?
onTouchEvent ( ) 호출 시 해당 뷰의 속성을 바꾸고 싶은데 잘 안되네요.
일단 event.getX(), event.getY() 를 호출해서 확인한 좌표로 해당 뷰를 알아내는 방법을 써봤는데
좌표를 확인해야 하는 뷰가 30개가 넘어가다보니 속도가 너무 심하게 느리더라고요.
ID를 알아내서 속성을 바꾸는 방법을 써보고 싶은데 답변주시면 감사드리겠습니다.
감사합니다.
2012.01.20 11:44:05
제가 보기에는 그냥 화면상에 어느 부분을 터치하면 그부분의 x,y좌표를 읽어서 그 좌표에 해당하는 xml단 layout같은것의 뷰를 체크해서 반영하고 싶다는것 같은데요.
사실 해당 뷰의 onClickListener를 적용시키는것이 가장 편한 방법이지만 그것이 싫으신것같으니..
onStart()될때 onCreate()오버로딩할때 사용하던 setContentView(R.layout.login)함수의 id값인 R.layout.login의 내부 id값을 읽어서.
해당 view들의 좌표값을 미리 읽어서 가상 view 클래스를 만드셔서. xy좌표에 대한 모든 것을 설정하신후.. 정리해서 mark방식으로 xy좌표를 정리해서..
아이고 시간이 없다보니 정리가 횡설수설..




v.getId()하면 해당 뷰의 ID를 알아올 수 있지 않나요?
저는 그런식으로 onTouch()안에 switch 문이나 if,else 문을 사용해서 비슷한 수행을 하는 View들의 이벤트는 한꺼번에 처리 하는데...
질문 하신 내용이 이게 맞나요?;;