Android 我希望在不重新加载页面的情况下刷新ListView

Android 我希望在不重新加载页面的情况下刷新ListView,android,android-layout,android-intent,android-widget,Android,Android Layout,Android Intent,Android Widget,我希望在不重新加载页面的情况下刷新列表视图。更确切地说,我有一个服务正在为活动中的列表视图发送数据,但是活动在服务能够获取数据之前很久就会加载。因此,我需要能够在活动已加载后加载/重新加载列表视图 在列表视图的适配器上调用notifyDataSetChanged()。在列表视图的适配器上调用notifyDataSetChanged(),只要你想刷新它。我发现,因此,我在类似的实现中采用了以下方法: AsyncTask获取doInBackground中的所有数据。然后,完成后,我第一次在onPos

我希望在不重新加载页面的情况下刷新
列表视图
。更确切地说,我有一个服务正在为
活动
中的
列表视图
发送数据,但是
活动
服务
能够获取数据之前很久就会加载。因此,我需要能够在
活动
已加载后加载/重新加载
列表视图

列表视图
适配器
上调用
notifyDataSetChanged()
。在
列表视图
适配器
上调用
notifyDataSetChanged()
,只要你想刷新它。

我发现,因此,我在类似的实现中采用了以下方法:

AsyncTask
获取
doInBackground
中的所有数据。然后,完成后,我第一次在
onPostExecute
中设置了列表适配器。为了让用户知道有东西正在加载,我只需在
列表视图
的顶部放置一个
文本视图
,并在
onPreExecute
中将其文本设置为“loading..”,然后在数据准备好后在
onPostExecute
中使其不可见

如果需要刷新数据,只需再次执行
AsyncTask

我喜欢这种方式,因为您只需设置一次
ArrayAdapter
(即当您最终拥有所有数据时)。更多关于异步任务的信息,以备您需要。这些文档有一些很好的示例代码。

我发现了这一点,因此我在类似的实现中采用了以下方法:

AsyncTask
获取
doInBackground
中的所有数据。然后,完成后,我第一次在
onPostExecute
中设置了列表适配器。为了让用户知道有东西正在加载,我只需在
列表视图
的顶部放置一个
文本视图
,并在
onPreExecute
中将其文本设置为“loading..”,然后在数据准备好后在
onPostExecute
中使其不可见

如果需要刷新数据,只需再次执行
AsyncTask


我喜欢这种方式,因为您只需设置一次
ArrayAdapter
(即当您最终拥有所有数据时)。更多关于异步任务的信息,以备您需要。文档中有一些很好的示例代码。

我想使用
IntentService
而不是
Service
。通过使用
IntentService
您将能够将数据发送到后台
服务
,并在启动
广播接收器
更新UI时接收更新的数据。这是一个完整的示例,说明了如何使用
IntentService

来完成任务,我想说的是使用
IntentService
而不是
服务。通过使用
IntentService
您将能够将数据发送到后台
服务
,并在启动
广播接收器
更新UI时接收更新的数据。这是一个使用
IntentService
完成任务的完整示例