getActivity在某些有根设备中的片段onActivityCreated中返回null

时间:2014-12-15 04:02:57

标签: android android-fragments

我的应用在大多数设备上工作正常,但有些根设备。在片段 onActivityCreated 中, getActivity 保持返回null。我需要上下文类来设置下面的内容。

所以任何人都可以帮助我?

更新

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);
    ....
}

1 个答案:

答案 0 :(得分:2)

getActivity"可能"如果从null内调用,则返回onActivityCreated ...尤其是在方向更改等配置更改期间,因为活动被销毁...将初始化移至onAttach ...

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

onActivityCreated在调用父活动onCreate时被调用...但请记住,它可能会重新创建&#34;,在配置更改期间被销毁< / p>