Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView自动更新并仅添加新数据项_Android_Android Listview - Fatal编程技术网

Android ListView自动更新并仅添加新数据项

Android ListView自动更新并仅添加新数据项,android,android-listview,Android,Android Listview,我有一个listview,用户在其中添加对特定主题的评论,然后将这些评论存储在服务器上, 由于多个用户可能会添加评论,我希望listview定期更新(比如10秒), 并且只添加最新的数据,而不添加完整的数据,因为这会降低应用程序的速度 我该怎么做呢?修复一些缓冲区注释,比如50。如果评论数量超过50条,则仅显示最后50条评论。从服务器实现分页概念。保留一些“加载更多”按钮或自动加载功能(就像在twitter或facebook中一样)以查看列表中的更多行。@slukian我使用了一个自定义适配器,

我有一个listview,用户在其中添加对特定主题的评论,然后将这些评论存储在服务器上, 由于多个用户可能会添加评论,我希望listview定期更新(比如10秒), 并且只添加最新的数据,而不添加完整的数据,因为这会降低应用程序的速度


我该怎么做呢?

修复一些缓冲区注释,比如50。如果评论数量超过50条,则仅显示最后50条评论。从服务器实现分页概念。保留一些“加载更多”按钮或自动加载功能(就像在twitter或facebook中一样)以查看列表中的更多行。

@slukian我使用了一个自定义适配器,它将参数作为数组列表接受在修改
ArrayList
后,您必须调用
您的适配器。notifyDataSetChanged
,这将导致UI反映您的更改。是的,但这样做会重建完整的列表,不是吗?不幸的是,据我所知,没有其他方法告诉
列表视图它应该查找更多项目。我希望在这件事上被证明是错的!这是另一种方法,但并没有回答我的实际问题,如何定期更新列表,只添加最新数据?只需为计时器创建一个对象。每10秒安排一次,或者你想安排的任何时间。每次运行AsyncTask以获取数据。每次启动AsyncTask时,检查之前的AsyncTask状态,无论它是已完成还是正在进行。如果上一个异步任务仍在进行中,则在10秒后安排下一个异步任务。我希望你能理解。是的,我理解这个!谢谢现在只剩下一件事,就是如何在列表中只添加那些新的项目,而不是重新创建整个列表?每个响应都有一个特定的时间,以秒为单位。请在下一个请求中用传递过去的时间,服务器将从中返回请求中发送的时间与当前时间之间的注释。因此,每个请求和响应都将包含time tag.okk!谢谢!有点复杂的方法,但会做的工作!