Android 为什么这个事件不起作用?

Android 为什么这个事件不起作用?,android,touch-event,Android,Touch Event,我的项目中有一个ImageButton。我创建了一个onTouchEvent,当用户触摸ImageButton内部时,会播放声音。但它不起作用 @Override public boolean onTouchEvent(MotionEvent event){ ImageButton img_1 = (ImageButton) findViewById(R.id.img_1_); Rect r = new Rect(); img_1.ge

我的项目中有一个ImageButton。我创建了一个onTouchEvent,当用户触摸ImageButton内部时,会播放声音。但它不起作用

  @Override
public boolean onTouchEvent(MotionEvent event){      

      ImageButton img_1 = (ImageButton) findViewById(R.id.img_1_);       
      Rect r = new Rect();
  img_1.getDrawingRect(r);

     if(r.contains((int)event.getX(),(int)event.getY())){

        if(firstTime == true){
              firstTime = false;
          snd.play_s_l_9(); 
              System.out.println("Touch In Image");
          }
      }

             if(event.getAction() == MotionEvent.ACTION_UP){
          //When we lift finger reset the firstTime flag
          firstTime = true;
               }

       return true;
}

如果您的
活动实现了
OnTouchListener
,只需调用

yourImageButton.setOnTouchListener(this);

使用
ImageButton
注册侦听器。希望这有帮助。

您是否将此侦听器添加到您的图像按钮中?@ben75,不,我没有看到它。Mahdi如果答案解决了您的问题,请单击答案旁边的勾号接受答案,这将激励其他人帮助您more@Arash谢谢,我不知道。@MahdiJafarzadeh,不客气!如果此解决方案对您有所帮助,请接受答案。