2013-03-06 87 views

回答

4

您可以在onClick中設置一個標誌,例如clickable = false,一旦點擊一次,然後在需要時重新啓用它。僅在clickabletrue時才運行相關的onClick代碼。

+0

謝謝,我用類似的東西(我用的時間檢查) – user1692261 2013-03-06 20:48:25

1

您可以在點擊後禁用它。在XML中添加一個聽者的上點擊

<Button 
    android:id="@+id/button1" 
    android:layout_height = "wrap_content" 
    android:layout_width ="wrap_content" 
    android:text = "lets do this" 
    android:onClick = "DoIt" 
/> 

,然後禁用它點擊聽者

public void DoIt(View v){ 
    ((Button) v).setEnabled(false); 

    ...your code... 
} 
+2

這不工作。點擊排隊。因此,如果用戶快速點擊3次,則有3次調用DoIt()方法排隊。一旦第一次調用被執行,該按鈕將被禁用,但是到時候它已經太晚了,另外兩次調用'DoIt()'仍然會發生。 – 2013-03-06 20:40:57

+0

@DavidWasser對於遲到的評論感到抱歉。但也許你沒有把代碼行放在正確的地方。 – 2013-07-24 01:53:17

+2

@CԃաԃԃIt It It where where where where where where where where where where where where where where where where where where where where禁用'onClick()'方法中的按鈕是不可靠的,因爲Android框架將事件隊列中的按鈕單擊事件排隊。當用戶點擊按鈕時,onClick()方法不會同步調用。因此,如果用戶足夠快(或者設備足夠慢),則在調用第一個'onClick()'方法之前總是可以在隊列中獲得多個** click **事件。 – 2013-07-24 09:06:36