2016-06-28 34 views
0

我正在研究一個android應用程序,它涉及每個數據請求到服務器的令牌更改。所以,每次我都需要發送一個新的令牌給服務器,否則用戶必須重新登錄。只有當TabLayout處於活動狀態時,如何在片段內執行某些任務?

我在選項卡布局方面遇到問題,請求是同時發生的。只有當選項卡處於活動狀態時,是否有任何方式向服務器發送請求?

PS。我試着用2秒後發送請求的處理程序,但它不是有效的。

+0

這與'TabLayout'無關。它實際上與製作同步的API請求有關。不是嗎? – Sufian

+0

我不相信你可以通過檢查你的'TabLayout'是否被激活/選擇來做到這一點。例如,如果在同一個選項卡中有兩個按鈕用於請求,會發生什麼情況? – Sufian

+0

我有兩個選項卡,第一個選項卡在開始時是可見的,因此請求是通過「onCreate」方法發送的。但在第二個選項卡上,我只需要在請求處於活動狀態時發送請求。 –

回答

0

您可以覆蓋此片段方法:

public class Your class extends Fragment { 

    @Override 
    public void setMenuVisibility(final boolean visible) { 
     super.setMenuVisibility(visible); 

     if (visible) 
     { 
      //launch task 
     } 
    } 
} 
+0

它的工作!非常感謝你....:D –

+0

不客氣;) – David

0

如果選擇標籤頁上打開片段,要打電話給你的任務,在你的片段使用下面的方法。僅當我選擇的選項卡及其各自的片段完全可見時,纔會調用以下方法。

public class MyFragment extends Fragment{ 
    .................. 
    .................. 

    @Override 
    public void setUserVisibleHint(boolean isVisibleToUser) { 
     super.setUserVisibleHint(isVisibleToUser); 

      if (isVisibleToUser) { 

       //your code here 

      } 
    } 

} 
相關問題