Полоса прогресса не двигается

У меня есть индикатор выполнения в каждом элементе моего списка. Когда я нажимаю элемент в списке, другой поток заставляет двигаться индикатор выполнения. По какой-то причине вывод говорит, что индикатор выполнения увеличивается, но это не так. Ниже приведен некоторый код.

 mHandler.post(new Runnable() {
                        public void run() {
                            ViewHolder vh = (ViewHolder) adapter.getView(pro, null, null).getTag();
                            Log.d("Progress",String.valueOf(vh.progress.getProgress()));
                            vh.progress.setProgress((int) prog[pro]);
                        }
                    });

person Michael    schedule 15.07.2011    source источник
comment
Итак, это публикует прогресс: Log.d("Progress",String.valueOf(vh.progress.getProgress()));? Можете ли вы опубликовать код, где ваши визуальные эффекты прогресса?   -  person citizen conn    schedule 16.07.2011
comment
извините, я не понимаю, что вы имеете в виду   -  person Michael    schedule 16.07.2011
comment
что такое vh.progress? опубликовать этот код   -  person citizen conn    schedule 16.07.2011
comment
его весь класс, который содержит индикаторы выполнения в списках. статический класс ViewHolder {публичный прогресс ProgressBar;   -  person Michael    schedule 16.07.2011
comment
переменная pro - это индекс записанного представления   -  person Michael    schedule 16.07.2011


Ответы (1)


getView() на вашем Adapter, вероятно, создает совершенно новую строку, поскольку это то, что он должен делать, когда вы вызываете getView() с null вторым параметром.

У вас должна быть лучшая схема для получения ProgressBar, которую вы хотите обновить, принимая во внимание, что ProgressBar, возможно, был переработан для отображения прогресса какой-либо другой строки.

person CommonsWare    schedule 15.07.2011
comment
Единственный способ, которым я могу думать о получении индикаторов выполнения, - это не перерабатывать представления. В списке будет в среднем только 10 просмотров, и я не позволю списку потреблять память. Как вы думаете, я должен это сделать? - person Michael; 16.07.2011
comment
Пока вы держите его в среднем на уровне 10 просмотров в списке. Опасность заключается в том, что вы забудете об этом ограничении и попытаетесь масштабировать свой подход до 1000 строк. - person CommonsWare; 16.07.2011