我正在开发一个Android应用程序,我有多个片段,每个片段都有一个列表视图。
我使用来自api的数据填充我的列表视图。
我想知道如何缓存我的数据,以便当用户更改片段(向左 - 向右滑动)时,数据将不会再次加载。
答案 0 :(得分:0)
尝试在打开新片段时添加片段,而不是替换片段 如下所示:
CommittiesActivity abstractFragment = new CommittiesActivity();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
**ft.add**(R.id.frame_container, abstractFragment, "CommittiesActivity");
ft.addToBackStack(null);
ft.commit();
答案 1 :(得分:-1)
您可以在UI线程运行时使用AsyncTask下载数据。
在扩展AsyncTask的Activity中创建一个内部类。
private class MyTask extends AsyncTask<Void, Void, Void> { ... }
该类提供doInBackground(Params... params)
之类的方法,您可以使用onPostExecute(Result result)
下载数据并将其传递到其他片段/活动后
相同的官方文档:https://developer.android.com/reference/android/os/AsyncTask.html
答案 2 :(得分:-2)
我认为您可以通过在android:launchMode="singleTop"
文件中为每个androidmanifest
代码添加activity
来实现这一目标。