我对我之前的 ListView 活动有疑问。
我有我的 ListView,它正在使用套接字连接继续更新,现在当我单击任何列表行时,我现在可以进入下一个屏幕,当我回到以前的 ListView 屏幕时,我的 ListView 再次开始更新,但我想保留当我在下一个屏幕上时,在后台更新我的 ListView。
当我在下一个屏幕上时,我想保持我以前的屏幕处于活动状态。
我对我之前的 ListView 活动有疑问。
我有我的 ListView,它正在使用套接字连接继续更新,现在当我单击任何列表行时,我现在可以进入下一个屏幕,当我回到以前的 ListView 屏幕时,我的 ListView 再次开始更新,但我想保留当我在下一个屏幕上时,在后台更新我的 ListView。
当我在下一个屏幕上时,我想保持我以前的屏幕处于活动状态。
在我看来,您用来加载数据的代码ListView
与您的Activity
. 例如,您有一个AsyncTask
or包含您的Thread
,并且您使用它来下载数据,或者做任何需要的事情来获取数据以填充列表。我还假设您在其中一种生命周期方法中启动它,例如.Activity
ListView
Activity
onCreate()
如果是这种情况,那么您应该考虑将用于获取列表数据的代码与您的活动代码分开。
做到这一点的一种方法是使用Service
能够独立于应用程序的其余部分运行的 a,并完成所有与获取列表数据有关的繁重工作。您可以从应用程序中的任何位置与服务进行通信。可以将Service
数据保存到数据库中。然后,您在 Activity 中所要做的就是查询数据库并填充适配器以立即获取最新数据。
您可以在此处阅读有关服务的更多信息:http: //developer.android.com/reference/android/app/Service.html
您可以(并且可能应该)按照 Paul 的建议进行操作,或者您可以更改为使用Fragments
或切换屏幕的方式ViewFlipper
。这样,您仍然可以在不同页面上 运行AsyncTask
或执行其他操作。Thread