作者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
1F:→ issuemylove:查了网路也有人有相同问题 但都说说看不出错误QQ||| 01/28 10:44
2F:推 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)
3F:推 givemepass:哈 它有很多种状况 你可以研究看看 01/28 12:09
4F:→ issuemylove:感谢QQ 01/29 16:29