我的活动中有一段代码如下:
for(int counter = 0; counter < markers.size(); counter++) {
sum_markers += markers.get(counter).getPrice();
}
因此,在我从recyclerview中删除了一个项目之后,我必须以某种方式更新我的数据,因为我必须重新计算价格总和(以及许多其他内容)。
答案 0 :(得分:2)
// 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();
您可以查看此refresh recyclerview in a fragment
但如果使用listview和自定义适配器,则可以在数据更改后调用ListAdapter.notifyDataSetChanged()
强制刷新列表。
答案 1 :(得分:2)
使用以下代码
public void removeItem(List< TodoItem > currentist){
list= currentist;
notifyDataSetChanged();
}
notifyDataSetChanged():每次修改使用它的内容并将当前列表保存在适配器中时,它会刷新recycleler view.so中的列表。
如果您想在删除任何项目后刷新片段,则必须使用以下代码。
getSupportFragmentManager()
.beginTransaction()
.detach(contentFragment) // detach the current fragment
.attach(contentFragment) // attach with current fragment
.commit();
希望这些可以帮助你。
答案 2 :(得分:0)
要在从列表中删除项目后更新UI,只需通过notifyDataSetChanged()通知;在UI线程上的适配器中调用它。它会自动更新。