我有一个应用程序在列表视图中显示数据库中的数据,当单击列表视图中的项目时,它会打开一个活动并显示有关该特定项目的更多数据,包括删除它的能力。当它删除它时,第一个片段被带出后栈,但是,列表视图不会更新以显示删除,如何从后栈中拉出片段时刷新它?
片段活动在onBackPressed
中有这个@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (fragmentManager.getBackStackEntryCount() != 0) {
fragmentManager.popBackStack();
}
else if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
答案 0 :(得分:3)
更新列表视图适配器
{{1}}
答案 1 :(得分:0)
将此列表工具添加到您的活动中。
getSupportFragmentManager().addOnBackStackChangedListener(getListener());
private FragmentManager.OnBackStackChangedListener getListener() {
FragmentManager.OnBackStackChangedListener result = new FragmentManager.OnBackStackChangedListener() {
public void onBackStackChanged() {
FragmentManager manager = getSupportFragmentManager();
if (manager != null) {
manager.findFragmentById(R.id.mall_fragment_container).onResume();
}
}
};
return result;
}
当在backstack中更改时,它将调用片段onresume。在你的片段中完成你的工作。注意不要忘记广告片段到backstack。
由于