【发布时间】:2015-04-14 12:39:58
【问题描述】:
SFragment 在一个 android 可滑动标签中,我在片段 onCreateView 上加载我的网格,所以每当我访问标签时,我的项目需要一段时间才能加载。但我不希望每次打开该选项卡时都加载这些项目。
我想要的是它应该只在第一次尝试时加载,之后每当我打开该选项卡时它就不应该加载。 我怎样才能做到这一点,提前谢谢你。
public class SFragment extends ListFragment implements OnTaskCompleted {
GridView grid;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.menu_grid_main_s, container, false);
new SidesMenuAsyncTask(getActivity(), this).execute();
grid = (GridView) view.findViewById(R.id.grid_s);
return view;
}
@Override
public void onTaskCompleted(JSONArray responseJson) {
try {
List<String> descriptions = new ArrayList<String>();
List<String> imageUrls = new ArrayList<String>();
List<String> price = new ArrayList<String>();
for (int i = 0; i < responseJson.length(); ++i) {
JSONObject object = responseJson.getJSONObject(i);
if ((object.getString("MainCategoryID")).equals("1") && (object.getString("SubCategoryID")).equals("1") ) {
Log.i("ImageURL ", object.getString("ImageURL"));
imageUrls.add(object.getString("ImageURL"));
Log.i("Description ", object.getString("Description"));
descriptions.add(object.getString("Description"));
Log.i("Price ", object.getString("Price"));
price.add(object.getString("Price"));
}
}
CustomGridS adapter = new CustomGridS(getActivity(), descriptions, imageUrls, price);
grid.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
【问题讨论】: