在我的应用程序中,我有一个带有自定义适配器的ListView,其中包含图像,3-5个TextViews等数据。
此数据是从网络服务器获取的,直到现在我正在展示
此项目发布于2012年10月10日
但我想将其更改为
此项目发布于6天前
所以,就像每隔1分钟刷新一次ListView一样,我不想使用adapter.NotifyDataSetChanged()
或类似的东西,它会用新数据重新创建整个ListView。
我只想让TextView单独在后台更改并在UI上显示。
谢谢
答案 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步开始,我相信你有你的行视图,所以在它的孩子身上应用更改。