我正在建立一个媒体播放器。我有一个播放列表,这是一个带有自定义适配器列表视图的活动。此列表视图中的项目包含2个字段:。我想让图像(播放)仅对当前播放的歌曲(在服务中)可见。此外,即使播放列表活动打开,每当歌曲因任何原因而发生变化时,这也应该动态变化。
答案 0 :(得分:0)
转到答案......
是的,sufiyan对这种做法是正确的。要添加的一件事是,当歌曲发生变化时,您可以在适配器上调用notifyDataSetChanged以强制它重绘视图以显示选择更改。
绘制ListView的最大开支是构建新的项目视图,但如果适配器的getView使用'convertView'参数,那么您可以节省这笔费用。为了通知活动,我建议您从服务中发送广播。在您的活动中,在onResume中注册接收器,并在onPause中注销它。然后在onResume中确保刷新(如果在活动暂停时歌曲发生了变化。