重新加载片段

Posted

技术标签:

【中文标题】重新加载片段【英文标题】:Reload Fragment 【发布时间】:2012-12-15 08:30:55 【问题描述】:

我只是好奇,因为我在 FragmentActivity 中设置了 Fragment 选项卡,如何从 FragmentActivity 或从 Fragment 本身,以清除并重新加载该选项卡。当我重新选择要发生的选项卡时,当它替换片段时,我基本上需要发生相同的事情。有没有一种简单的方法可以做到这一点并?

【问题讨论】:

出于什么原因需要? 需要重新加载/刷新它的视图,因为我需要更新从服务器填充的内容,并根据接收到的数量进行更改。它目前的工作方式就像我选择另一个选项卡并重新选择我拥有的选项卡一样。但是由于活动在加载时没有及时收到它,所以它不知道它是否足够快。 查看我的答案并告诉我它是否有效 【参考方案1】:

创建一个开始 FragmentTransaction、分离片段并提交的方法。然后开始一个新的 FragmentTransaction 附加片段并提交。这应该破坏视图层次结构,再次创建它,将其附加到 UI 并显示它。每当您需要刷新片段时,请调用此方法。

【讨论】:

我认为这是行不通的,因为它会使屏幕空白,直到内存不足替换片段之前不会出现任何错误,但我认为这可能是因为它仍然没有收到我也需要它的价值。我只是不确定为什么它不会,但你能给我一些示例代码,看看我是否做得正确。 @kev2316 收到号码时,应该调用上述方法。 实际上是的,它有效,谢谢,我有一个错误,它没有得到它,只是经常“刷新”片段。谢谢【参考方案2】:

你可以这样做:

fm=getActivity().getSupportFragmentManager();

fm.beginTransaction().replace(Containername, new CurrentFragmentname, CurrentFragment.class.getName()).commit();

【讨论】:

【参考方案3】:

你好,答案其实很简单, getFragmentManager().beginTransaction().detach(this).attach(this).commit();

【讨论】:

以上是关于重新加载片段的主要内容,如果未能解决你的问题,请参考以下文章

片段在重新加载时崩溃

使用 BottomBar 和片段容器禁用 Android 片段重新加载

重新加载片段不起作用

在片段中重新加载android视图

html 输入类型提交通常在单击时重新加载页面。此片段使输入不重新加载页面以便进行ajax调用

thymeleaf 片段渲染后重新加载 javascript