2016-02-26 107 views
1

我正在android studio中構建一個登錄樣式應用程序。作爲這個的一部分,我創建了一個規則,如果監視無效登錄嘗試次數的計數器達到0.我目前知道,當計數器變爲0時,登錄按鈕被禁用。我想知道是否有任何方法在一段時間內禁用此按鈕,而不是無限?禁用按鈕一段時間

switch (counter) { 
    case 0: 
     b1.setEnabled(false); 
    break; 

    case 1: 
     tx1.setBackgroundColor(Color.RED); 
    break; 

    case 2: 
     tx1.setBackgroundColor(Color.YELLOW); 
    break; 
} 
+0

您還必須考慮當方向更​​改以及用戶關閉應用程序並重新啓動時發生的情況。計數器是否復位,定時器是否結束等? – Nfear

+0

當用戶重新啓動應用程序時,計數器重置爲3.我不介意當用戶刷新應用程序時,所有內容都會重置,只要仍處於打開狀態的按鈕在一段時間內被禁用即可。 – Scarlett

回答

2

使用下面的代碼。當你放入OnCreate()方法時,當activity或fragment開始時,它會在5秒後禁用按鈕。

new Handler().postDelayed(new Runnable() 
    { 
     public void run() 
     { 
      b1.setEnabled(false); 
     } 
    }, 5000 //Specific time in milliseconds 
); 
+0

非常感謝!這是else語句中最好的地方嗎? 'b1.setEnabled(false)'後面的 – Scarlett

+0

;',是的 – EpicPandaForce