2011-04-05 59 views
1

我一直在寻找网络,但我找不到我的问题的答案。我有一个按钮,当你按下它时,它会发出声音。问题是,当你触摸屏幕上的一个按钮时,只有在按钮被释放后才会进入onClickListener()。我需要它在按下按钮时运行监听器,而不是在它被释放时运行,因为这会在播放声音时造成延迟。我试过onTouchListener(),它也没有工作,因为每次我将手指放在按钮上时都会播放声音。我试过onKeyDown(),但它不适用于屏幕按钮。有任何想法吗?一些帮助将不胜感激。问题onclick android

感谢

回答

2

您可以使用OnTouchListener和测试事件操作:

public boolean onTouch (View v, MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { // ... 
    } 
} 
+0

'如果(event.getAction()== MotionEvent.ACTION_DOWN){ \t \t \t \t \t Log.d(“触摸按钮------------------- -----“,”是“); \t \t \t \t \t \t \t \t \t}'感谢您的帮助 – madcoderz 2011-04-05 12:56:52

0

也许你仍然可以使用您的实施onTouchListener()。只需为用户开始触摸按钮时设置布尔标志,然后将其设置为true(意味着用户尚未释放按钮),请勿播放声音。当用户释放按钮(ACTION_UP)时,将标志设置为false。这意味着您已准备好再次播放声音。