我有一个可能有点愚蠢的问题,但我没有找到任何答案。所以我有一个Fragment和一些扩展Observable的实体对象。我希望在我的实体中进行一些更改时通知我的Fragment,所以我在那里实现了一个Observer。
现在我对必须添加和删除观察者的位置存有疑问。我的意思是片段中最正确的回调。
现在我使用onViewCreated
添加观察者onDestroyView
来删除观察者,但我认为可能有更好的地方去做。
以下是示例代码:
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
WheelManager.getInstance().addObserver(this);
PreferenceManager.getInstance().addObserver(this);
}
@Override
public void onDestroyView() {
super.onDestroyView();
WheelManager.getInstance().deleteObserver(this);
PreferenceManager.getInstance().deleteObserver(this);
}
我将非常感谢答案。
UPD:此外,我还浏览了Official Developer Guide,但对此问题一无所知。
答案 0 :(得分:1)
正如您所说的那样,您只是更新视图,onCreateView和onDestroyView适合此代码。
有一个例外,当你更新AdapterViews和RecyclerViews时 - 你可以在onAttach中实例化你的适配器并从那里开始观察(并在onDetach中停止它)。您可以将适配器链接到onCreateView中的视图,而不必担心NPE等。