Страница 1 из 1

Как сделать несколько последовательных ProgressBar -ов?

Добавлено: 09 июн 2015, 16:09
Dismirnovs
Добрый день, дорогие форумчане!
Хочу сделать несколько последовательно выполняющихся прогресбаров с возможностью старта и паузы выполнения.
Инициализирую их в методе oncreate помещаю в ArrayList.
И тут ключевой вопрос: Как же запустить несколько прогресбаров на последовательное выполнение?

Для случая с одним прогресбаром использую такой код но что то не могу понять как же его изменить под мою ситуацию?

Код: Выделить всё

  
start.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                //?   
                handler.post(runnable);  
            }  
        });  

 Runnable runnable=new Runnable() {  
          
        @Override  
        public void run() {  
            // TODO Auto-generated method stub  
            prolength=bar.getProgress()+1;  
            bar.setProgress(prolength);  
            setTitle(String.valueOf(prolength));  
            //100,1000runnable  
            if(prolength<100)  
            {  
                handler.postDelayed(runnable, 1000);  
            }  
            //??  
            else   
            {  
                bar.setProgress(0);  
                setTitle(String.valueOf(0));  
                handler.post(runnable);  
            }  
        }  
    };  
} 


Заранее спасибо, буду рад помощи!

Re: Как сделать несколько последовательных ProgressBar -ов?

Добавлено: 10 июн 2015, 07:45
klblk
Я бы наверное сделал ListView с кастомным адаптером на базе массива своих объектов у которых будут поля типа isProgress, progress. А в методе getView() что-то вроде:
[syntax=java]...
if(myObj.isProgress()) {
bar.setIndeterminate(false);
bar.setProgress(myObj.getProgress());
} else {
bar.setIndeterminate(true);
}
...[/syntax]
Для изменения прогресса меняются значения у myObj и вызывается notifyDataSetChanged() у адаптера (с RecyclerView вроде бы это можно сделать более деликатно).