2014-09-04 56 views
0

當我滾動listview(此項目不再可見)時,我有一個progessbar出現在listview中的一個項目中。它內部的進度條消失,有時會出現在listview的另一個項目中。問題是什麼 ?滾動時ListView項目中的進度條消失

編輯: 我使用ViewHolder patterntextviews沒有任何問題。問題在於顯示/隱藏進度欄,因爲它默認是隱藏的,並且根據適配器getView()中的特定條件出現。我以編程方式顯示progoressbar使用setVisibility()

+0

您是否在使用[ViewHolder模式](http://www.codeofaninja.com/2013/09/android-viewholder-pattern-example.html)來宣揚視圖?如果你是,也許這可能是問題? – 2014-09-04 16:11:30

+0

你可以通過程序控制何時使你的進度條可見,什麼時候不可見,分別使用'setVisibility(View.VISIBLE)'和'setVisibility(View.GONE)'。 – 2014-09-04 16:11:46

+0

也許你沒有把它的知名度設置在你應該去的地方去。 – 2014-09-04 16:21:36

回答

0

查看一些代碼以調試它會很有幫助。這可能是當你滾動時焦點從進度條移動到列表視圖,然後可能當你停止滾動列表視圖中的不同元素具有焦點並且該欄被註冊到該elemenet。正如我所說的那樣,一些代碼或更多關於發生的事情的信息會有所幫助。

+0

如果您希望獲得關於OP問題的更多說明,請在評論中詢問您的問題,而不是回答。 – 2014-09-04 16:08:48

0

如果元素從一行中消失,然後出現在另一行中,最好打賭你沒有正確處理ListView的回收。

對於在適配器中對createView的每次調用,如果使用convertView參數,則必須處理ProgressBar可見和不可見的情況。當您在一行中顯示ProgressBar時,會出現這種情況,然後滾動ListView。該行將在滾動屏幕時被回收,並作爲convertView參數傳遞迴createView。如果您沒有將其可見性設置爲「已去除」,它將繼續顯示,但現在爲不正確的行。