仅当 TabLayout 处于活动状态时,如何在片段内执行某些任务?

How to perform certain task inside a fragment only when a TabLayout is active?

我正在开发一个 android 应用程序,它涉及对服务器的每个数据请求的令牌更改。所以,每次,我都需要向服务器发送一个新令牌,否则用户必须重新登录。

我在选项卡布局方面遇到问题,请求是同时进行的。有什么方法可以仅在选项卡处于活动状态时向服务器发送请求吗?

PS。我尝试使用处理程序在 2 秒后发送请求,但它没有效果。

您可以覆盖此片段方法:

public class Your class extends Fragment {

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

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

如果在选择选项卡上打开片段,请在要调用任务的片段中使用以下方法。只有当我选择的选项卡及其相应的片段完全可见时,才会调用下面的方法。

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

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

            if (isVisibleToUser) {

                //your code here

            }
    }

}