主活动有一个“To ListView”按钮,用于启动带有列表视图的新活动。每次加载此新活动时,它都会调用AsyncTask()
方法,该方法远程检索某些JSON,对其进行解析,并将数据绑定到列表视图。然后,调用setContentView()
(在onPostExecute()
中)以显示UI。如何在后续启动该活动时保留列表视图数据,或至少保留数据数组(用于重新绑定),以便不必每次都调用ASyncTask()?
ASyncTask()
只应在开始时调用(而不是在强制终止应用程序之前),后续调用应该由用户手动完成,可能是onClick()
事件。我已经尝试为此目的设置boolean
,但如果是,那么当boolean
为false时如何显示列表视图的先前状态?我也研究过onResume()
和onBackPressed()
,但它们似乎没有多大关系。
Main.java
:
toListView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent myIntent = new Intent(getApplicationContext(), ListView.class);
startActivity(myIntent);
}
});
ListView.java
:
public class ListView extends ActionBarActivity {
private static boolean isFirstLaunch = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isFirstLaunch) {
// execute the ASyncTask();
isFirstLaunch = false;
}
// else display previous listview data or last activity state
}// onCreate()
答案 0 :(得分:1)
要在Android应用程序中保留数据,您有两个明显的选择。