Android:在列表视图项上显示实时时间戳

时间:2012-10-16 09:23:21

标签: android listview

在我的应用程序中,我有一个带有自定义适配器的ListView,其中包含图像,3-5个TextViews等数据。

此数据是从网络服务器获取的,直到现在我正在展示

此项目发布于2012年10月10日

但我想将其更改为

此项目发布于6天前

所以,就像每隔1分钟刷新一次ListView一样,我不想使用adapter.NotifyDataSetChanged()或类似的东西,它会用新数据重新创建整个ListView。

我只想让TextView单独在后台更改并在UI上显示。

谢谢

3 个答案:

答案 0 :(得分:2)

一个选项是通过扩展android TextView类创建自定义文本视图,并在其中放置一个时间任务,每隔一分钟更新一次文本视图消息。

你也可以使用

http://developer.android.com/reference/android/widget/TextView.html#onVisibilityChanged(android.view.View,int)启动和停止计时器任务。

答案 1 :(得分:0)

我认为不支持开箱即用。

由于您似乎已经有了日期/日历,只需将其转换为相对时间字符串,其函数如下:http://www.zachstronaut.com/posts/2009/01/20/php-relative-date-time-string.html

如果你想要实时更新,我认为最好的办法是启动一个后台线程,给它ListView并定期更新可见项目,但是你可能想要更新所有这些以防止出现不一致。

答案 2 :(得分:0)

对于参考,我建议您在ListView中使用以下内容进行更改。

1.您需要获取要在其中更改Textview的特定项目的Row View。

2.现在从第1步开始,我相信你有你的行视图,所以在它的孩子身上应用更改。