2015-09-09 67 views
0

我有一個tablayout像下面這樣:如何防止迅速點擊開關選項卡中的Android

我想安裝一個間隔時間(例如:500毫秒)選項卡之間切換,這意味着當我點擊「第一個」選項卡,然後立即點擊「第二個」,它不會切換到標籤「第二」,當且僅當點擊「首次」,500毫秒後,選項卡「秒」上的點擊事件有效,如果我點擊在500ms內按「第一個」,「第二個」,「第三個」和「第四個」,點擊「Second」和「Third」將會失效,標籤將直接從「First」切換到「Fourth」實現它?

+0

你爲什麼在標籤之間切換設置500ms的間隔時間? –

回答

1

我不知道如果我完全理解你的邏輯與選項卡。無論如何,你可以使用Handler等待500毫秒。您可以根據需要修改示例。

您可以創建一個處理程序是這樣的:

boolean mClickAllowed = true; 
Handler mHandler = new Handler(); 
Runnable mRunnable = new Runnable() { 
    public void run() { 
     mClickAllowed = true; 
    } 
}; 

檢查是否點擊是允許的。點擊選項卡後,啓動可運行並將mClickAllowed設置爲false。可運行的命令將允許在500ms後點擊。

// Your Tab clickListner 
public void onTabClick(View view) { 
    if(mClickAllowed) { 
     // When a tab is clicked, post the runnable 
     mClickAllowed = false; 
     mHandler.postDelayed(mRunnable, 500); // run after 500ms 
    } 
} 

不要忘記暫停廣告活動後,去掉你處理程序回調

protected void onPause() { 
    mHandler.removeCallbacks(mRunnable); 
} 
+0

Thx,這就是我想要的。 – goddess1875

相關問題