【发布时间】:2019-07-01 15:23:41
【问题描述】:
我不知道在“this”、“R.id.fragment_container”或“currentFragment”中放入什么来使代码正常工作。我有一个带有标签的活动,因此有三个片段。在这个“MainActivity”中,我想更新片段的视图。代码在 MainActivity 中。
这里有两种通过 stackoverflow 刷新片段的变体。
在Refresh or force redraw the fragment 中,它说“要刷新 ListView,您需要在 ListView 的适配器上调用 notifyDataSetChanged()。”如何做到这一点?
变体 1
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();}
}
变体 2
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
getFragmentManager().beginTransaction().detach(this).commitNow();
getFragmentManager().beginTransaction().attach(this).commitNow();
} else {
getFragmentManager().beginTransaction().detach(this).attach(this).commit();
}
你能帮我使代码工作吗?在“this”中,需要一个片段。
【问题讨论】:
标签: android fragment this refresh