引用片段的父活动的最佳实践?

HAx*_*xor 13 android

我最近一直在使用片段工作很多,我只是对使用对片段的父活动的引用的最佳实践感到好奇.是否更好地继续调用getActivity()或在onActivityCreated回调上初始化parentActivity变量.

Jam*_*ken 20

这实际上包含在Fragments上的官方Android文档中.当您需要父活动的上下文(例如Toast,Dialog)时,您可以调用getActivity().当您需要在Fragment的接口中调用回调方法时,您应该使用在其中实例化的回调变量onAttach(...).

public static class FragmentA extends ListFragment {
    ExampleFragmentCallbackInterface mListener;
    ...
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        try {
            mListener = (ExampleFragmentCallbackInterface ) context;
        } catch (ClassCastException e) {
            throw new ClassCastException(context.toString() + " must implement ExampleFragmentCallbackInterface ");
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

资源


Cha*_*ran 9

getActivity()是最好的.您无需维护要存储的变量(始终,直到应用程序循环!).如果需要调用方法并使用!:)