Java 在不扩展片段的情况下调用getFragmentManager()
我有一个类在我的Android应用程序中处理数据库。当数据库更改时,我想更新显示来自该片段的信息的片段。我的方法是给片段一个标记,然后用以下代码查找片段:Java 在不扩展片段的情况下调用getFragmentManager(),java,android,android-fragments,Java,Android,Android Fragments,我有一个类在我的Android应用程序中处理数据库。当数据库更改时,我想更新显示来自该片段的信息的片段。我的方法是给片段一个标记,然后用以下代码查找片段: FragmentManager manager = getFragmentManager(); Fragment fragment = manager.findFragmentByTag("Schedule"); if (fragment instanceof ScheduleFragment){
FragmentManager manager = getFragmentManager();
Fragment fragment = manager.findFragmentByTag("Schedule");
if (fragment instanceof ScheduleFragment){
ScheduleFragment fr = (ScheduleFragment)fragment;
fr.scheduleUpdated();
}
但是,只要我的数据库类不是Fragment的扩展,编译器就拒绝识别getFragmentManager()
。对我来说,扩展Fragment毫无意义,因为数据库类不是Fragment,而是一个管理数据库的简单助手类。是否可以在不扩展片段的情况下获得对我的片段的引用?或者这是一种不好的做法,应该以另一种方式进行
另外,是否可以从静态方法获取对片段的引用?尝试使用localBroadcast管理器。当数据库更改时,laumch将显示广播意图。在“Schedule”片段中注册这个,您就可以处理数据库更改了。 有关LocalBroadcast Manager的更多信息,请参阅此链接