Есть, неопределенный progressBar
который вращается, пока ListView
контент готов быть показаны. И progressBar
, и listView
являются частью тех же Fragment
.Как контролировать indeterminante ProgressBar, который не является частью ListView?
Так что я закодировал, что это progressBar
сделан Visisble и ушел из AsyncTask
, который выбирает контент.
mProgressBar = (ProgressBar) view.findViewById(R.id.progressbar);
mProgressBar.getIndeterminateDrawable()
.setColorFilter(getResources().getColor(R.color.pink), PorterDuff.Mode.MULTIPLY);
new MyAsyncTask().execute();
//then in asynctask
private class MyAsyncTask extends AsyncTask<Void, Integer, MyAdapter> {
@Override
protected void onPreExecute() {
mProgressBar.setVisibility(View.VISIBLE);
}
@Override
protected MyAdapter doInBackground(Void... params) {
//do the stuff and return loaded adapter
return adapter;
}
@Override
protected void onPostExecute(MyAdapter adapter) {
mProgressBar.setVisibility(View.GONE);
}
}
Однако progressBar
заморожен и не отжимает?!
Я попытался инстанцированием progressBar
от onPreExecute
, но внешняя progressBar
не принимает parameteres я установил внутри AsyncTask
. Я вижу это потому, что вместо стандартного цвета он отображается по умолчанию.
Так как я могу управлять этим progressBar
? Сейчас все, что мне нужно, это показать его, когда содержимое начнет загружаться, и скрыть его, когда он будет готов к показу.
ПРИМЕЧАНИЕ: Мне не нужен progressBar
внутри каждого элемента, но мне он нужен так, как я описал.
Я сделал это. Но «ProgressBar» все еще не вращается. Кажется, как замороженный. Не обновляется индикатор выполнения. Это неопределенный индикатор выполнения. – sandalone
Я отредактировал свой ответ, надеюсь, что это может помочь вам сейчас;) –
Хорошая идея, которую я буду использовать в другом проекте, но ProgressBAr все еще заморожен. – sandalone