【发布时间】:2013-06-16 14:13:09
【问题描述】:
我有一个简单的应用程序,其中包含一个包含 listview 的活动,其中数据通过自定义适配器加载,一些 json 内容在 asynctask 中获取,下面的缩小代码
主类
setContentView(R.layout.main);
final ListView listview = (ListView) findViewById(R.id.listView1);
class load_data extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... arg0) {
// parse some JSON data and store it in " String[] var,var2,var3 " variable.....
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
final Listadapter adapter = new
Listadapter(Main.this,var1,var2,var3);
listview.setAdapter(adapter);
}
//rest of the code
Listadapter.class
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// put values into textviews of the listview row
return convertView;
}
上面的 listView 实现完美运行,但是每次启动应用程序时都会加载 listview 如何更改代码,以便 listview 向我显示旧的保留数据,然后加载新数据并刷新 listview。
这个概念类似于 android twitter 应用程序,其中显示较旧的推文,并在应用程序重新启动时将新推文加载到较旧的推文之上。
【问题讨论】:
-
这可能取决于您填充 ListView 的数据的性质。如果要加载的内容是高度易失性的,最好加载它
onCreate(),否则如果内容相对非易失性并且每次都附加新数据,那么它倾向于使用@Gleb 指定的基于文件的缓存。
标签: java android xml caching android-listview