2014-03-02 137 views
0

我有三個按鈕,當用戶按下其中任何一個按鈕時,它會將全局計數器加1。我已啓用多點觸控,因此用戶可以按下所有三個按鈕。 問題是,如果您多次快速按下所有三個按鈕,即使您不再觸摸它們,計數器仍會增加。多次增加計數器

我怎樣才能解決這個問題?

按鈕偵聽:

button.setOnClickListener(new View.OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
    { 
     counter++; 
     textView.setText(""+counter); 
    } 
}); 
+0

你的問題是計數器值增加,如果你沒有觸摸按鈕? – Kick

+2

你能提供監聽器代碼嗎? – Trein

+0

如果您重複快速按下按鈕,則在您不再按下按鈕後,計數器仍在計數(無法保持)秒。 – domen

回答

0

也許抓取並保存時間戳你離開onClickListener,然後在下一次進入聽者之前,抓住當前時間戳,如果不到一定量的時間(也許是四分之一秒)已經過去了,只是數字已經在緩衝區中,並且退出了處理程序。

+0

如果你已經觸摸了一個按鈕,那麼相應的註冊監聽器將毫無疑問地聽,但要做你喜歡的事情,@Joe建議的方式在我看來足夠順利 – nobalG