2015-09-09 30 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

相关问题