我使用的是Master / Detail流程(不是默认流程),所以我有一个fragment
包含RecyclerView
的内容,当我点击我看到的项目时在其他fragment
项目的详细信息上,它可以正常工作,但现在我想从详细信息片段中删除此项目,当我点击删除时,它会刷新,然后notifydatasetchanged。
问题是什么?我的ListFragment和我的DetailFragment上都有适配器我只能从我的SQLite中删除该项目,我想刷新列表。
活动 - 我在哪里创建listFragment
Fragment1 - ListFragment(RecyclerView,Adapter,Sqlite(适用于获取产品))
Fragment2 - DetailFragment(Sqlite(删除项目))
活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
if(savedInstanceState == null){
Fragment list = new ListFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().add(R.id.list,list).commit();
}
}
在我的ListFragment
我有这些属性
private SQLiteAdapter sqliteAdapter;
private Context mContext;
private Adapter adapter;
private RecyclerView recyclerView;
private List<Product> data;
然后我用一个打开sqliteAdapter的方法放入数据,然后获取所有产品,然后关闭连接。
在我的DetailFragment上,我有SQLite对象来获取从适配器(id产品)发送的产品,然后显示有关此产品的信息。 现在我可以删除一个对象,但它没有从ListFragment中刷新,我想知道将这个SQLite对象放在Activity或两个片段中的位置是可以的
答案 0 :(得分:0)
听起来您只是从数据库中删除该项目。您还需要从适配器列表或其他数据结构中删除它。