2011-02-04 71 views
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情况。运行时,只有按下按钮,移动光标/手指/等,然后释放按钮才能起作用。我想要它做的是按下它,并能够释放它,而不必移动我的光标/手指等。

有人有什么想法吗?

回答

0

没关系,我似乎已经找到了错误。似乎我仍然在我的XML布局文件中设置了一个onClick处理程序,我忘记删除它。

无论如何感谢您的时间,如果您阅读此。

相关问题