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情況。運行時,只有按下按鈕,移動光標/手指/等,然後釋放按鈕才能起作用。我想要它做的是按下它,並能夠釋放它,而不必移動我的光標/手指等。
有人有什麼想法嗎?