ListFragment和onActivityCreated调用了两次

fab*_*bio 5 android android-fragments

我有一个listFragment这是我的onActivityCreated:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        utenti=savedInstanceState.getParcelableArrayList("array");
    }else{
        threadutenti= (GetUtenti) new GetUtenti(this.getActivity(), utenti).execute();
    }
Run Code Online (Sandbox Code Playgroud)

当我旋转我的设备时,我有第一个savedInstanceState非null(我知道了)但是在使用onActivityCreated null调用onActivityCreated之后!为什么?我想在ListFragment上获取我的对象utenti而不是我的活动..

Ale*_*pov 10

如果您总是在Activity#onCreate()回调中创建新片段,就会发生这种情况.
如果是真的,请检查此答案.你的Fragment#onActivityCreated名字会被召唤两次:

  • 第一次被FragmentActivity#onStart召唤来触发mFragments.dispatchActivityCreated().它将传递已保存的实例.
  • 第二次被FragmentActivity#onStart电话号召引发mFragments.execPendingActions().这次没有保存实例(因为它是为响应新的Fragment添加而被调用的).