Android 在任何按钮单击时刷新选项卡布局中的片段

Android 在任何按钮单击时刷新选项卡布局中的片段,android,rest,android-fragments,android-recyclerview,android-tablayout,Android,Rest,Android Fragments,Android Recyclerview,Android Tablayout,在我的一个应用程序中,我使用了带有三个片段的选项卡布局和viewpager。在每个片段中,我使用JavaRESTAPI从服务器获取数据。此服务器数据取决于片段按钮的单击。例如 在过程片段中,当我点击play按钮时,那个张牌的视图进入完整片段,但它并没有。当我刷新活动时,它会消失,这意味着活动将关闭然后开始。我应该如何刷新片段?试试这个!将此代码粘贴到活动中 viewpager.setOffscreenPageLimit(1); 试试这个!将此代码粘贴到活动中 viewpager.setOff

在我的一个应用程序中,我使用了带有三个片段的选项卡布局和viewpager。在每个片段中,我使用JavaRESTAPI从服务器获取数据。此服务器数据取决于片段按钮的单击。例如


在过程片段中,当我点击play按钮时,那个张牌的视图进入完整片段,但它并没有。当我刷新活动时,它会消失,这意味着活动将关闭然后开始。我应该如何刷新片段?

试试这个!将此代码粘贴到活动中

viewpager.setOffscreenPageLimit(1);

试试这个!将此代码粘贴到活动中

viewpager.setOffscreenPageLimit(1);

您可以尝试如下方式刷新片段:

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(YourFragment.this).attach(YourFragment.this).commit();

您可以尝试如下方式刷新片段:

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(YourFragment.this).attach(YourFragment.this).commit();

我认为,您需要在模型更改时更新适配器,但不需要更新整个片段

我认为,您需要在模型更改时更新适配器,但不需要更新整个片段

无论你想为刷新片段执行什么操作,只要把它放在一个方法中,然后从片段中的onStart方法调用它,对我来说都很有效。

无论你想为刷新片段执行什么操作,只要把它放在一个方法中,然后从片段中的onStart方法调用它,为我工作。

在你的Fragment类中试试这个

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

    if (isVisibleToUser) {
    // Refresh your fragment here
    }
}

在你的片段类中试试这个

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

    if (isVisibleToUser) {
    // Refresh your fragment here
    }
}

@用户1517638未工作@用户1517638未工作!!!是的,但是在哪里?是的,但是在哪里?这不会重新加载碎片。仅显示与当前片段相邻的页面将存储在缓存中的数量@库尔德普写了正确的答案。这不会重新加载碎片。仅显示与当前片段相邻的页面将存储在缓存中的数量@Kuldeep给出了正确的答案。@fazil您可以在从可以刷新页面的服务器获得响应后,将此代码置于“按钮单击”状态。@fazil您可以在从可以刷新页面的服务器获得响应后,将此代码置于“按钮单击”状态。这是最好的方法。这是最好的方法