我正在研究一個android應用程序,它涉及每個數據請求到服務器的令牌更改。所以,每次我都需要發送一個新的令牌給服務器,否則用戶必須重新登錄。只有當TabLayout處於活動狀態時,如何在片段內執行某些任務?
我在選項卡布局方面遇到問題,請求是同時發生的。只有當選項卡處於活動狀態時,是否有任何方式向服務器發送請求?
PS。我試着用2秒後發送請求的處理程序,但它不是有效的。
我正在研究一個android應用程序,它涉及每個數據請求到服務器的令牌更改。所以,每次我都需要發送一個新的令牌給服務器,否則用戶必須重新登錄。只有當TabLayout處於活動狀態時,如何在片段內執行某些任務?
我在選項卡布局方面遇到問題,請求是同時發生的。只有當選項卡處於活動狀態時,是否有任何方式向服務器發送請求?
PS。我試着用2秒後發送請求的處理程序,但它不是有效的。
您可以覆蓋此片段方法:
public class Your class extends Fragment {
@Override
public void setMenuVisibility(final boolean visible) {
super.setMenuVisibility(visible);
if (visible)
{
//launch task
}
}
}
它的工作!非常感謝你....:D –
不客氣;) – David
如果選擇標籤頁上打開片段,要打電話給你的任務,在你的片段使用下面的方法。僅當我選擇的選項卡及其各自的片段完全可見時,纔會調用以下方法。
public class MyFragment extends Fragment{
..................
..................
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//your code here
}
}
}
這與'TabLayout'無關。它實際上與製作同步的API請求有關。不是嗎? – Sufian
我不相信你可以通過檢查你的'TabLayout'是否被激活/選擇來做到這一點。例如,如果在同一個選項卡中有兩個按鈕用於請求,會發生什麼情況? – Sufian
我有兩個選項卡,第一個選項卡在開始時是可見的,因此請求是通過「onCreate」方法發送的。但在第二個選項卡上,我只需要在請求處於活動狀態時發送請求。 –