我的应用程序在大多数设备上运行良好,但在某些植根设备上运行良好。在片段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);
    ....
}

最佳答案

getActivity如果从null内部调用,则“可能”返回onActivityCreated ...尤其是在配置更改(例如方向更改)期间,因为活动被破坏了...将初始化移动到onAttach ...

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


在调用父活动的onActivityCreated时会调用onCreate,但是请记住,它可以被“重新创建”,在配置更改期间会被销毁

关于android - 在某些已root用户的设备中, fragment onActivityCreated中的getActivity返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27477167/

10-10 03:49