当我滚动progessbar
(此项目不再可见)时,listview
中的某个项目中出现了listview
。其中的进度条消失,有时会出现在listview
中的另一个项目中。有什么问题?
修改
我正在使用ViewHolder pattern
textviews
没有任何问题。问题在于显示/隐藏progresssbar,因为它默认是隐藏的,并根据适配器getView()
中的特定条件显示。我使用progoressbar
setVisibility()
答案 0 :(得分:0)
查看一些代码以便调试它会很有帮助。可能是当您滚动时,焦点会从进度条移动到列表视图,然后可能在您停止滚动时,列表视图中的其他元素具有焦点,并且该栏将注册到该elemenet。正如我所说的一些代码或更多关于正在发生的事情的信息会有所帮助。
答案 1 :(得分:0)
如果元素从一行中消失然后出现在另一行中,那么您可以正确处理ListView的正确回收。
对于在适配器中对createView的每次调用,如果使用convertView参数,则必须处理ProgressBar可见且不可见的情况。当您在一行中显示ProgressBar,然后滚动ListView时,将出现这种情况。该行在从屏幕滚动时将被回收,并作为convertView参数传回createView。如果您未将其可见性设置为“已消失”,则会继续显示,但现在会显示错误的行。