【发布时间】:2018-05-17 16:14:26
【问题描述】:
我正在使用主/详细信息流(不是默认流),所以我有一个 fragment 包含 RecyclerView 的内容,当我单击一个项目时,我在其他 fragment 上看到该项目的详细信息,它可以工作,但是现在我想从详细信息片段中删除该项目,当我单击删除时,它会刷新,然后通知数据集已更改。
有什么问题?我的 ListFragment 和 DetailFragment 上有适配器,我只能从我的 SQLite 中删除该项目,我想刷新列表。
Activity -- 我在哪里创建 listFragment
Fragment1 -- ListFragment (RecyclerView, Adapter, Sqlite(For fetch products))
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 或两个片段中的哪个位置是可以的
【问题讨论】:
-
请出示minimal reproducible example 来说明您的问题。特别是显示活动、片段和适配器。
-
@Code-Apprentice 我要放什么????带有删除方法的按钮???我只是在解释我的场景,不过看看我的编辑
-
请阅读我之前提供的链接。如果没有一些实际代码,很难说出如何解决您的问题。
-
我不需要代码,我需要推理信息'会澄清你,但从现在开始,我不知道你为什么要查看我的 ListFragment / Detail Fragment 如果在我的问题中我已经放置了包含每个片段的内容。
-
我非常愿意帮助你。但要这样做,我需要查看您的代码。告诉我我不需要这样做就像告诉你的医生她应该能够通过告诉她你咳嗽来诊断出什么问题。
标签: java android android-fragments fragment