我需要在 ListFragment 中显示一些数据。我正在使用 AsyncTask 从 Internet 下载数据,然后使用 Adapter 更新数据。
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
在一个用户会话中执行一次。因此,如果片段被分离然后再次附加,我不想再次下载数据。但是,如果刚刚创建片段,我希望它下载数据。
对此的简单答案是调用getData
from onCreate()
,但随后我得到 nullPointer,因为那时我没有AsyncTask
. 所以我需要以某种方式知道片段是刚刚创建还是刚刚分离然后再次附加。
英语不是我的母语。所以我很抱歉如果我的问题不是很容易理解。