为了账号安全,请及时绑定邮箱和手机立即绑定

重新加载时刷新片段

重新加载时刷新片段

慕桂英3389331 2019-08-01 14:33:57
重新加载时刷新片段在Android应用程序中,我将数据从Db加载到TableView内部a Fragment。但是当我重新加载时,Fragment它显示以前的数据。我可以Fragment使用当前数据而不是以前的数据重新填充吗?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

我想你想在db update上刷新片段内容


如果是这样,请分离片段并重新连接


// Reload current fragment

Fragment frg = null;

frg = getSupportFragmentManager().findFragmentByTag("Your_Fragment_TAG");

final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

ft.detach(frg);

ft.attach(frg);

ft.commit();

Your_Fragment_TAG是您在创建片段时为其提供的名称


此代码用于支持库。


如果您不支持旧设备,只需使用getFragmentManager而不是getSupportFragmentManager


此方法要求Fragment具有标记。


查看完整回答
反对 回复 2019-08-01
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

这将刷新当前片段:

FragmentTransaction ft = getFragmentManager().beginTransaction();if (Build.VERSION.SDK_INT >= 26) {
   ft.setReorderingAllowed(false);}ft.detach(this).attach(this).commit();


查看完整回答
反对 回复 2019-08-01
?
浮云间

TA贡献1829条经验 获得超4个赞

如果您没有片段标记,以下代码适用于我。

Fragment currentFragment = getActivity().getFragmentManager().findFragmentById(R.id.fragment_container);if (currentFragment instanceof "NAME OF YOUR FRAGMENT CLASS") {
 FragmentTransaction fragTransaction =   (getActivity()).getFragmentManager().beginTransaction();
 fragTransaction.detach(currentFragment);
 fragTransaction.attach(currentFragment);
 fragTransaction.commit();}}


查看完整回答
反对 回复 2019-08-01
  • 3 回答
  • 0 关注
  • 444 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信