NotifyDataSetChanged在不同的片段上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NotifyDataSetChanged在不同的片段上相关的知识,希望对你有一定的参考价值。
我正在使用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或两个片段中的位置都可以
听起来您只是从数据库中删除该项目。您还需要从适配器列表或其他数据结构中删除它。
以上是关于NotifyDataSetChanged在不同的片段上的主要内容,如果未能解决你的问题,请参考以下文章
Android问题集:notifyDataSetChanged()方法无用
Android问题集:notifyDataSetChanged()方法无用
在 customAdapter.notifyDataSetChanged 之后 ListView 不更新