当我尝试运行Android应用程序时,我遇到了一些问题。当我推动&在我的主视图上释放一个按钮。应用程序的行为就像一个portophone(按下按钮进行通话,释放停止)。
要通知按下或释放按钮,我尝试了两个选项: - 添加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情况。在运行时,只有当您按下按钮,移动光标/手指/等,然后释放按钮时,它才会起作用。我想要它做的是按它,并能够释放它而不必移动我的光标/手指/等。
有人有什么想法吗?
答案 0 :(得分:0)
没关系,我似乎已经找到了错误。似乎我的XML布局文件中仍然有一个onClick处理程序集,我忘了删除它。
如果你读到这篇文章,无论如何都要感谢你。