我有一个应用程序,允许用户从列表中选择一个 txt 文件,然后上网以获取该文件的内容。一切正常,除非用户意外或故意按下硬件返回按钮以再次查看列表。
现在,当用户单击列表中的新项目(即新文件)时,应用程序不会加载新文件,而是从暂停的位置继续运行。我不希望这种情况发生。我知道这与活动的生命周期有关。
如何确保它加载新文件而不是从中断处继续?
我有一个应用程序,允许用户从列表中选择一个 txt 文件,然后上网以获取该文件的内容。一切正常,除非用户意外或故意按下硬件返回按钮以再次查看列表。
现在,当用户单击列表中的新项目(即新文件)时,应用程序不会加载新文件,而是从暂停的位置继续运行。我不希望这种情况发生。我知道这与活动的生命周期有关。
如何确保它加载新文件而不是从中断处继续?
我想您正在将文件加载到onCreate()
. 你应该这样做onResume()
。
不要强制关闭活动(例如使用finish()
)。首先,这并不能保证 Activity 会被关闭,其次,这最好留给 Android 来决定。
杀死活动的另一种方法是调用以下方法。
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
您可以覆盖onBackPressed
活动中的方法并调用finish()
以获得所需的结果。
您只需要通过调用activity.finish()在 onBackPressed() 方法中完成您的活动;
要销毁后按时的活动,请使用此代码。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Destroys activity.
finish();
}