NotifyDataSetChanged在不同的片段上

问题描述 投票:0回答:1

我正在使用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或两个片段中的位置都可以

java android android-fragments fragment
1个回答
0
投票

听起来您只是从数据库中删除该项目。您还需要从适配器列表或其他数据结构中删除它。

© www.soinside.com 2019 - 2024. All rights reserved.