gpt4 book ai didi

java - 调用 getFragmentManager() 而不扩展 Fragment

转载 作者:行者123 更新时间:2023-12-01 12:26:58 26 4
gpt4 key购买 nike

我有一个类在我的 Android 应用程序中处理数据库。当数据库更改时,我想更新显示 fragment 信息的 fragment 。我的方法是给 fragment 一个标签,然后使用以下代码找到 fragment :

FragmentManager manager = getFragmentManager();
Fragment fragment = manager.findFragmentByTag("Schedule");
if (fragment instanceof ScheduleFragment){
ScheduleFragment fr = (ScheduleFragment)fragment;
fr.scheduleUpdated();
}

但是,只要我的数据库类不是 Fragment 的扩展,编译器就拒绝识别 getFragmentManager()。对我来说,扩展 Fragment 是没有意义的,因为数据库类不是 fragment ,而是一个管理数据库的简单帮助程序类。是否可以在不扩展 Fragment 的情况下获得对我的 Fragment 的引用?或者这是不好的做法,应该以其他方式完成?

此外,是否可以从静态方法获取对 fragment 的引用?

最佳答案

尝试使用本地广播管理器。当数据库更改时启动广播 Intent 。在“Schedule” fragment 中注册它,您可以处理数据库更改。有关 LocalBroadcast Manager 的更多信息,请参阅此链接 how to use LocalBroadcastManager? http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html

关于java - 调用 getFragmentManager() 而不扩展 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com