Android Fragments getActivity在Fragment的onActivityCreated中返回null

20jt8wwn  于 2023-04-21  发布在  Android
关注(0)|答案(1)|浏览(208)

我的应用在大多数设备上都能正常工作,除了在某些设备上,即使在片段的onActivityCreated中,getActivity方法也会一直返回null。我需要Context类来设置。
有人能帮我吗?

示例

public class BaseProductFragment extends Fragment {

...

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(layout_id, container,
            false);
    return rootView;
}

public void onActivityCreated(final Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    ImageCacheParams cacheParams = new ImageCacheParams(getActivity(),
            Utils.PRODUCTS_CACHE_DIR);
    ....
}
zpgglvta

zpgglvta1#

当从onActivityCreated内部调用时,getActivity“可能”返回null ...特别是在配置更改(如方向更改)期间,因为Activity被破坏...将初始化移动到onAttach ...

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    //initialize here
}

当父Activity的onCreate被调用时,onActivityCreated被调用...但请记住,它可以在配置更改期间被“重新创建”或销毁

相关问题