安卓列表-ListView 更新某一项

作者:vkvi 来源:ITPOW(原创) 日期:2018-4-18

安卓列表-ListView 更新某一项

如上图,有一个列表,可能很长,有些没显示出来。当点击某一项时该项显示“正在播放”。

由于安卓并不像网页样,把所有列表项都加载起,而只是把当前需要显示的加载起,所以这个处理方式跟网页、跟 WinForm 还不一样。

首先,我们需要给 Adapter 设置一个 int 成员,比如名叫 m_playingIndex

用以记录当前播放项。

何时给这个 m_playingIndex 赋值呢?就是在 getView 中的 view.setOnClickListener  中。

然后,在Adapter 的 getView 中根据 m_playingIndex 值显示不同的图标

这个是在滚动时触发的,也就是说为了保证滚动时也能够在正确的位置显示正确的按钮。

最后,需要一个立即响应事件处理

第二步说了,那个只是在滚动时触发,不滚动时不触发,也就无法更新界面,那么我们需要在点击了之后也更新。

那我们就需要 Adapter 设置一个事件了,在前面为 m_playingIndex 赋值后,就触发这个事件,这个事件交由 Activity 中处理(因为我们要用 m_listView,所以用事件跳出 Adapter)。

关于事件,可以参见本连载前面的文章。

相关文章