1
我尝试运行我的Android应用程序时遇到了一些问题。当我在我的主视图上按下一个按钮&时,会出现问题。该应用程序的行为像一个portophone(按下按钮说话,释放停止)。如何知道按钮是否被按下或释放?
要通知该按钮被按下或释放,我已经尝试了2个选项: - 添加onClickListener, - 添加onTouchListener。
第一只看起来被按下的按钮,所以它不是一个可行的解决方案。第二个解决方案是能够区分推出&发布,所以这是我现在使用的一个。代码如下所示:
// Initialise handler for Push To Talk button
Button button = (Button) findViewById(R.id.buttonPTT);
button.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent me){
switch(me.getAction()){
case MotionEvent.ACTION_DOWN:
Toast.makeText(getApplicationContext(), "PTT pressed", Toast.LENGTH_LONG).show();
// TODO: Activate Push To Talk
break;
case MotionEvent.ACTION_UP:
Toast.makeText(getApplicationContext(), "PTT released", Toast.LENGTH_LONG).show();
// TODO: End Push To Talk
break;
}
return false;
}
});
问题出在交换机的ACTION_UP情况。运行时,只有按下按钮,移动光标/手指/等,然后释放按钮才能起作用。我想要它做的是按下它,并能够释放它,而不必移动我的光标/手指等。
有人有什么想法吗?