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

onTouchListener

0 추천

안녕하세요

리스브튜를 뿌리고 행에 있는

버튼1을 onTouchListener에 등록해서 MotionEvent.DOWN 시에 어떤 행동을 정의해주고 있습니다.

 

그런데 이 버튼이 너무 작아서

 

Item 전체 (RelativeLayout) 에 id를 부여해 onTouchListener에 등록해서

버튼과 아이템 row를 혼용해서 사용할 생각입니다.

그런데.. 아래와 같은 로그가 뜨면서 앱이 강제중지 됩니다..

이유좀 알려주시면 감사하겠습니다. ㅠ

 

07-02 17:50:51.125: E/InputEventReceiver(32368): Exception dispatching input event.
07-02 17:50:51.125: E/MessageQueue-JNI(32368): Exception in MessageQueue callback: handleReceiveCallback
07-02 17:50:51.125: I/ViewRootImpl(32368): ViewRoot's MotionEvent : Down
07-02 17:50:51.135: E/MessageQueue-JNI(32368): java.lang.ClassCastException: com.btb.pump.pvt.adapter.TalkerListAdapter$ViewHolder cannot be cast to java.lang.Integer
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at com.btb.pump.pvt.adapter.TalkerListAdapter.onWhisperButtonDown(TalkerListAdapter.java:103)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at com.btb.pump.pvt.adapter.TalkerListAdapter.onTouch(TalkerListAdapter.java:124)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.View.dispatchTouchEvent(View.java:7154)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2196)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1568)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.app.Activity.dispatchTouchEvent(Activity.java:2607)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2145)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.View.dispatchPointerEvent(View.java:7339)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4312)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.os.MessageQueue.nativePollOnce(Native Method)
07-02 17:50:51.135: E/MessageQueue-JNI(32368): at android.os.MessageQueue.next(MessageQueue.java:125)
 
------------중략-------------
 
07-02 17:50:51.135: E/AndroidRuntime(32368): FATAL EXCEPTION: main
07-02 17:50:51.135: E/AndroidRuntime(32368): java.lang.ClassCastException: com.btb.pump.pvt.adapter.TalkerListAdapter$ViewHolder cannot be cast to java.lang.Integer
07-02 17:50:51.135: E/AndroidRuntime(32368): at com.btb.pump.pvt.adapter.TalkerListAdapter.onWhisperButtonDown(TalkerListAdapter.java:103)
07-02 17:50:51.135: E/AndroidRuntime(32368): at com.btb.pump.pvt.adapter.TalkerListAdapter.onTouch(TalkerListAdapter.java:124)
07-02 17:50:51.135: E/AndroidRuntime(32368): at android.view.View.dispatchTouchEvent(View.java:7154)
07-02 17:50:51.135: E/AndroidRuntime(32368): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2196)
07-02 17:50:51.135: E/AndroidRuntime(32368): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1568)
07-02 17:50:51.135: E/AndroidRuntime(32368): at android.app.Activity.dispatchTouchEvent(Activity.java:2607)
07-02 17:50:51.135: E/AndroidRuntime(32368): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2145)
07-02 17:50:51.135: E/AndroidRuntime(32368): at android.view.View.dispatchPointerEvent(View.java:7339)
 

 

윤둥이 (4,560 포인트) 님이 2013년 7월 2일 질문

1개의 답변

+1 추천
 
채택된 답변
형변환 문제네요.

ViewHolder를 int형으로 casting하고 계신듯 합니다.

TalkerListAdapter의 103번째 라인인거 같네요.
pulak (2,610 포인트) 님이 2013년 7월 2일 답변
윤둥이님이 2013년 7월 2일 채택됨
...