Android 如何知道片段是否已被重新创建

Android 如何知道片段是否已被重新创建,android,Android,我需要在ListFragment中显示一些数据。我使用AsyncTask从internet下载数据,然后使用适配器更新数据 public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); activity = getActivity(); context = activity.getApplicationContext();

我需要在ListFragment中显示一些数据。我使用AsyncTask从internet下载数据,然后使用适配器更新数据

public void onActivityCreated(Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);
    activity = getActivity();
    context = activity.getApplicationContext();
    res = activity.getResources();
    resFactory = createFactory(context);
    dataFolder = resFactory.getDataFolder();
    dataFile = resFactory.getDataFile();
    ArrayList list = resFactory.getArrayList();
    setListAdapter(resFactory.getAdapter(context, list));
    linkToData = resFactory.getDataLink(res);
    getData();

}
getData
中,我正在启动
AsyncTask

我希望
getData
在一个用户会话中只执行一次。所以,若片段被分离,然后再次连接,我不想再次下载数据。但若这个片段是刚刚创建的,我想让它下载数据

对此的简单答案是从
onCreate()
调用
getData
,但是我得到了null指针,因为此时我没有
AsyncTask
。所以我需要知道这个片段是刚刚被创造出来的,还是刚刚被分离,然后再次连接

英语不是我的母语。如果我的问题不太容易理解,我很抱歉

package com.example.gridview;

import android.os.Bundle;
import android.support.v4.app.Fragment;

/**
 * @author rajeshcp
 */
public class FrgamentX extends Fragment {

    private boolean mIsCreated;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }



    @Override
    public void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        if(!mIsCreated)
        {
                    mIsCreated = true;
            //load data
        }
    }
}

这也是可行的。

加载数据后,将其作为静态集合保存在其他类中,当您到达该片段时,首先检查数据是否存在,否则只需加载它。我的数据保存在文件(xml、json和jpeg缩略图)中。如果我只是检查这个文件是否存在,那么当我的应用程序被多次启动时,它不会更新数据,因为文件会存在。如果可能的话,我希望我的应用程序在每次发布时都能更新数据。所以它不是我问题的解决方案,也不是我问题的解决方案,因为它存储的数据在用户会话之间。所以,当应用程序第二次启动时,数据将以xml、json和jpeg文件的形式存在,并且不会被更新。