【问题标题】:getActivity return null in fragment onActivityCreated in some rooted devicegetActivity 在某些根设备中的片段 onActivityCreated 中返回 null
【发布时间】:2014-12-15 04:02:57
【问题描述】:

我的应用程序在大多数设备上都可以正常工作,但在一些有根设备上。在片段 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() 在调用 onAttach() 之前返回 null。尝试将此代码移动到 onAttach() 方法。

标签: android android-fragments


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多