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()方法无用

notifyDataSetChanged 示例

在 customAdapter.notifyDataSetChanged 之后 ListView 不更新

[完成]notifyDataSetChanged() 不会自动更新 ListActivity

在 notifyDataSetChanged 后 Android ListView 不刷新