作者issuemylove (skill)
看板AndroidDev
標題[問題] imageView onClick 沒反應
時間Mon Jan 28 01:03:28 2013
想請問大大
我自訂了一個 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