我有一个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();
}
当我旋转设备时,我首先有一个saveInstanceState非null(我知道了),但是在onActivityCreated之后调用了onActivityCreated null!为什么?我想在ListFragment而不是我的 Activity 上获取我的对象utenti。
最佳答案
如果您始终在Activity#onCreate()
回调中创建新 fragment ,则可能会发生这种情况。
如果是真的,请检查this answer。您的Fragment#onActivityCreated
将被调用两次:
FragmentActivity#onStart
调用mFragments.dispatchActivityCreated()
触发。它将通过保存的实例。 FragmentActivity#onStart
调用mFragments.execPendingActions()
触发的。这次没有保存实例(因为它是为响应新的Fragment添加而被调用)。 关于android - ListFragment和onActivityCreated调用了两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15245036/