2012-08-01 164 views
0

所以我有一個按鈕,啓動與服務器的通信。但是,當我嘗試禁用點擊內的按鈕(停止多次點擊)時,直到點擊結束纔會發生。這是一個問題,因爲服務器通信意味着該方法需要一段時間才能執行。我看到以前的問題是通過使用標誌停止多次點擊來回答的(並且聲明這是一個已知的錯誤,即按鈕不能立即停用)。現在有沒有其他更優雅的解決方案來解決這個問題,還是標誌仍然是唯一的方法?Android處理多個按鈕點擊

回答

3

巴頓的onClick()

可以,

button.setEnabled(false); 
+1

1正確溶液保持的標誌。 – Praveenkumar 2012-08-01 07:09:40

2

當我有這個問題是使用一個布爾標誌對於這一點,這裏是使用國旗的示例代碼是什麼做的:

boolean isClicked = false; 
Button btn.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     if (!isClicked) { 
      isClicked = true; 
      // CONNECT TO SERVER 
      isClicked = false; 
    } 
} 
0

你可以隱藏按鈕,

button.setVisibility(View.INVISIBLE); 

或禁用按鈕

button.setEnabled(false); 

,或者使用布爾