2011-02-04 128 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處理程序,我忘記刪除它。

無論如何感謝您的時間,如果您閱讀此。

相關問題