我有一个Android应用程序,有各种活动。
例如,有一个主屏幕和一个更新屏幕。主屏幕是列表活动。
主屏幕上的按钮将带您进入从服务器更新数据库的更新屏幕。理论上,在更新后返回主屏幕时,应更改列表以反映刚刚完成的更新。
进入更新屏幕的代码如下:
Button synch = (Button) findViewById(R.id.synchButton);
synch.setOnClickListener(new OnClickListener() {
public void onClick(View viewParam) {
Intent intent = new Intent(HomeScreen.this, SynchScreen.class);
startActivity(intent);
}
});
以及更新后返回主屏幕的代码:
main_menu.setOnClickListener(new OnClickListener() {
public void onClick(View viewParam) {
finish();
}
});
列表是从onStart中运行的异步任务编译的,所以我的理解是onStart应该在我返回主屏幕时运行,因此始终显示列表的最新版本。
在我的模拟器上我总是得到更新列表,但是当我在手机上运行它时,列表永远不会更新,它会在我更新之前返回到屏幕状态。
任何想法?
感谢
凯文
答案 0 :(得分:1)
查看Android文档的Activity lifecycle部分。更新视图的代码应该可以移动到onResume,因为Activity在启动新的时可能不会被杀死。
答案 1 :(得分:1)
在Asynctask
中输入用于启动onResume
的代码。阅读与活动生命周期相关的文档。
答案 2 :(得分:1)
@Override
public void onResume() {
super.onResume();
Apaptor.refreshListView(Vector);
}