2012-09-27 4 views
1

내 Android 애플리케이션은 본질적으로 "SurfaceHolder.Callback"인터페이스를 구현하는 표면보기입니다. 좀 더 실시간으로 2-D 데이터의 그래프를 표시하고 있습니다. 또한 Surface View 위에 몇 가지 추가 데이터를 표시하기 위해 Text View를 추가했습니다.Android에서 다른 처리기에 제스처 전달

현재 내 문제는 표면보기가 다양한 제스처와 터치를 처리하지만 텍스트보기가 터치를 가로 채는 것 같습니다.

텍스트 뷰의 이벤트를 처리를 위해 내재 된 (사실상, 상대적 레이아웃의) 표면 뷰로 전달할 수 있습니까 ??

감사합니다,
R.

+0

이것은 내가 실제로 발견 한 다른 질문을 복제 한 것일 수 있습니다. 이는 제스처가 전달되는 것을 막는 방법이었습니다. 어쨌든 지금 찾는 데 어려움을 겪고 있지만 대답은 계층 구조와 적어도 하나의 setOnTouchListener() 구현의 조합보기를 포함하는 것 같습니다. 나는 그것에 종사하고있다 .... – Rich

답변

0
내가 여기에 (내 자신의 질문에 대답)이 작업을 수행해야하지만하지 기대했다

내가 몇 게시물에서 SO에 알고 있다고 생각하는 내용은 다음과 같습니다 안드로이드에서

상대 레이아웃 (Relative Layout) "위에서"보기는 이벤트를 먼저 가져옵니다. 필자의 경우 Surface View 상단의 Text View는 아무것도하지 않기로되어 있으므로 모든 이벤트를 스택에 "내려"전달해야합니다. 진정한 리스너가있는 경우 -

"반환 값 :

textView.setOnTouchListener (new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch (View v, MotionEvent event) 
    { 
     return false; 
    } 
}); 

(내 생각에) 이것에 대해 성가신 부분은 말한다 문제에 안드로이드 도움말 텍스트의 눈속임 본질이다 :이와 것을 달성 이벤트를 소비하고, 그렇지 않으면 거짓입니다. "

이 음색은 원인과 효과가 반대로 나에게 (다시, 제 의견) 같습니다. 나는 그것이 단조 로움 (nickpicking)이라고 생각하지만, 텍스트는 아마도 "이벤트가 처리되어야 함을 나타내는 TRUE를 반환합니다 (OS에 의해 보일 경우 TRUE로 표시됩니다), 그렇지 않으면 거짓으로 표시됩니다."