我有一个ListView,其中每个项目代表一个播客。选择项目将播放播客。在播放时,该ListView项目的视图显示一个经过时间的计数器,旁边有一个SeekBar来显示进度。
我遇到问题的方法是找出如何处理更新经过时间计数器(TextView),同时通过触摸重新定位SeekBar。在notifyDataSetChanged
SeekBar事件期间调用onProgressChanged
似乎效果不佳。
答案 0 :(得分:3)
我不是这种UI模式的忠实粉丝,仅仅因为如果用户滚动,他们可能很难找到它们的位置。我建议您使用SeekBar
和计数器,以及有关当前播放的播客的信息,在ListView
之外 - 可能在设置为具有可见性GONE
的布局中,并在当用户选择播客时。
缺乏这一点,我认为你的编码很痛苦。
你是对的notifyDataSetChanged()
可能不是答案。相反,您可能需要直接使用TextView
...同时它在屏幕上。跟踪它是否在屏幕上是Adapter
的工作,尽管细节会根据您实际实现列表的方式而有很大差异(例如,行的不同视图类型?)。