我正在使用主详细信息流活动,我ListFragment
和DetailFragment
Fragments
我有一个SQLiteHelper
的实例,我帮助我对我的SQLite
执行操作。
我的问题是DetailFragment
我有Button
可以删除项目(我有我的产品的ID,所以我可以删除它),但我的问题是,因为我'当我从Master detail flow
移除产品时使用DetailFragment
我必须执行类似adapter.notifyDataSetChanged()
之类的操作,或者我的适配器以及RecyclerView
的所有内容,如何从我的DetailFragment
获取Adapter
到ListFragment
的引用?
MainActivity
上我除了创建Fragment
我的问题是:
MainActivity
上我除了创建Fragment
之外什么都没有,而我的MainActivity
实现了从Interface
调用的Adapter
替换当前的Fragment
,可以吗?Fragment
newInstance()
SQLiteHelper
我有Activity
的{{1}},我可以将它放在我的RecyclerView
上,以便我可以使用同一个对象吗?DetailFragment
的{{1}},并且我没有关于RecyclerView
的任何内容,所以我不能做adapter.notifyDataSetChanged()
之类的事情或类似的东西,我只能删除当前项目,如何连接DetailFragment
以刷新RecyclerView
?答案 0 :(得分:0)
在我的MainActivity上我没有任何东西,除了Fragment的创建,我的MainActivity实现了一个从Adapter调用的接口来替换当前的Fragment,是吗?
当然,但您还希望保留对主分段的引用,至少将删除操作委托给它以响应详细信息片段中的操作。
在这两个片段中,我有一个我的SQLiteHelper的newInstance(),我可以把它放在我的Activity上,这样我就可以使用同一个对象吗?
不确定。通常,您将SQLite访问对象设置为某种单身。通过一个Activity访问它是一种方法。
问题是我需要从我的DetailFragment更新RecyclerView并且在它上面我没有任何关于RecyclerView的东西,所以我不能做像adapter.notifyDataSetChanged()这样的东西,我只能删除当前item,如何连接我的DetailFragment以刷新RecyclerView?
请查看Communicating with Other Fragments上的官方文档。
您可以通过OnDeleteListener
使用DetailFragment
调用正在删除的项目的索引或ID来调整您的用例策略。然后,活动将委派给MasterFragment
,让它知道项目已被删除,以便它可以在其适配器上调用notifyItemRemoved。
希望有所帮助!