我想刷新Actvitiy中的片段。 (我们称之为活动A) 活动A包含片段。
当我完成活动B时,活动A应刷新碎片。
我以为这会在onResume上完成?我尝试通过意图重新启动活动,但这不是可用性友好的。
那么当我恢复活动时如何刷新片段?
答案 0 :(得分:11)
将此代码放入
的onResume()
例如,当您返回到您的频段时,您想要更新列表视图。
@Override
public void onResume() {
super.onResume();
if (allowRefresh)
{
allowRefresh = false;
lst_applist = db.load_apps();
getFragmentManager().beginTransaction().detach(this).attach(this).commit();
}
}
这里 getFragmentManager()。beginTransaction()。detach(this).attach(this).commit();
此行分离并重新附加片段,以便更新您的内容。
答案 1 :(得分:0)
我同意Mehul但你也可以这样做。如果你想替换你的片段你可以说
@Override
public void onResume() {
super.onResume();
if (allowRefresh)
{
allowRefresh = false;
lst_applist = db.load_apps();
getFragmentManager().beginTransaction().replace(Fragment_Container,fragment).commit();
}
}
答案 2 :(得分:0)
总是在显示片段之前调用onResume()
。即使是第一次创建片段。因此,您只需将您的帐户从onViewCreated()
移至onResume
。
@Override
public void onResume() {
super.onResume();
//move your code from onViewCreated() here
}