android - 在适配器外更新 ListView 项

标签 android

我有一个 ListView,其中每个项目代表一个播客。选择一个项目播放播客。播放时,该 ListView 项目的 View 会显示耗时计数器,旁边有一个 SeekBar 以显示进度。

我遇到的问题是弄清楚如何在通过触摸重新定位 SeekBar 时处理更新耗时计数器(一个 TextView)。在 onProgressChanged SeekBar 事件期间调用 notifyDataSetChanged 似乎效果不佳。

最佳答案

我不是这种 UI 模式的忠实粉丝,仅仅是因为如果用户滚动,他们可能很难再次找到他们所在的位置。我建议在 ListView 之外放置您的 SeekBar 和计数器,以及有关当前正在播放的播客的信息——也许在设置为具有可见性的布局中 GONE 并在用户选择播客时播放动画。

否则,我认为您将面临相当多的编码痛苦。

您是对的,notifyDataSetChanged() 可能不是答案。相反,您可能需要直接使用 TextView...当它在屏幕上时。跟踪它何时在屏幕上和不在屏幕上是您的 Adapter 的工作,尽管细节会根据您实际实现列表的方式而有很大差异(例如,行的不同 View 类型?) .

关于android - 在适配器外更新 ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4382728/

相关文章:

android - 将 meteor 应用程序作为 android 应用程序运行

android - 如何在 setOnItemClickListener 上将 ListView 记录显示到第二个 ListView 中

android - 如何使用自定义操作在 Android 中扩展 Google Now 语音命令

java - JSOUP 无法在 Android Studio 中提取动态生成的 DOM 内容

java - ProgressDialog 在 android 线程中工作

android - 在 android 中使用短信管理器发送群发短信

android - 如何使用PHP强制下载在android上下载文件

使用 GSON 库和 ProGuard 时 Android 崩溃

java - Java 上的自动点击器(Android Studio)

android - NetworkOnMainThreadException 是否对协程中的网络调用有效?