看板 AndroidDev 關於我們 聯絡資訊
想請問大大 我自訂了一個 dialog 其中有一個 ImageView 是可以按的 結果竟然只有 onTouch 事件會被聽到 而 onClick 事件卻沒反應 可以請問有人遇到過同樣的問題嗎? QQ 程式碼如下: final ImageView buttonYes = (ImageView) dialog.findViewById( R.id.dialog_button_2); buttonYes.setClickable(true); buttonYes.setImageResource( R.drawable.dialog_button_2_r); buttonYes.setOnClickListener( new View.OnClickListener(){ public void onClick(View view){ Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse("market://details?id=com.wVuduMovieStreamer")); context.startActivity(intent); dialog.dismiss(); } }); buttonYes.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View view, MotionEvent event) { if( event.getAction() == MotionEvent.ACTION_DOWN ){ buttonYes. setImageResource( R.drawable.dialog_button_2_r_clicked ); } else if( event.getAction() == MotionEvent.ACTION_UP){ buttonYes. setImageResource( R.drawable.dialog_button_2_r); } return true; } }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.28.130
issuemylove:查了網路也有人有相同問題 但都說說看不出錯誤QQ||| 01/28 10:44
givemepass:onTouch return 改成false看看 01/28 11:23
成功了 謝謝 givemepass 大大 QQ||| 查了一下官網 http://developer.android.com/reference/android/view/View.OnTouchListener.html Returns True if the listener has consumed the event, false otherwise. 當時看到Eclipse 幫我自動設定的 return false; 手殘把它改成 return true; 因為感覺比較正常...Orz 沒想到那麼多 以為所有的 Listener 都不會彼此影響到 orz 原來還有 consume 的 issue QQ 真的非常謝謝! ※ 編輯: issuemylove 來自: 118.163.3.187 (01/28 11:38)
givemepass:哈 它有很多種狀況 你可以研究看看 01/28 12:09
issuemylove:感謝QQ 01/29 16:29