Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Trocar ProgressDialog por ProgressBar

Opa!!

Vi que o ProgressDialog foi depreciado, vi nos fóruns que o melhor componente de substituir seria o ProgressBar, porém estou com uma dificuldade de conseguir utilizar

ProgressBar progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyle);

Ele não dá erro no código quando instancio conforme acima, mas também não exibe nada... Vi também que pode colocar um xml com o ProgressBar conforme abaixo:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    <ProgressBar
        android:id="@+id/determinateBar"
        style="@android:style/Widget.Holo.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"/>


</LinearLayout>

Mas dessa forma não consegui encontrar como fazer para puxar ele no onPreExecute...

Alguém consegue dá um help.

Valew!!

1 resposta
solução!

Opa cara,

Então, o ProgressDialog só está depreciado no Android O por causa do novo padrão de layouts do Google, ou seja, para celulares com API 26 para cima, então eu não me preocuparia tanto com isso ainda.

Maaaaas se mesmo assim você quiser utilizar o ProgressBar então vamos lá:

Usando um Layout simples para progresso indeterminado:

 <ProgressBar
      android:id="@+id/indeterminateBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      />

e para definir com progresso seria:

<ProgressBar
      android:id="@+id/determinateBar"
      style="@android:style/Widget.ProgressBar.Horizontal"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:progress="25"/>

Essa seria um ProgressBarcom 25% de progresso E você iria atualizando o progresso com o métodosetProgress(int) ou chamando incrementProgressBy(int).

Para instanciar esse ProgressBar seria algo do tipo:

ProgressBar progressBarIndeterminado = (ProgressBar)findViewById(R.id.indeterminateBar);

ProgressBar progressBarDeterminada = (ProgressBar)findViewById(R.id.determinateBar);

Ouuuu, outra forma seria :

ProgressBar progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);

Mas dessa forma você precisa colocar ela dentre de alguma view, pois ela não funciona como um dialog.

LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
layout.addView(progressBar,  index);

Para mais referências da uma olhada na documentação oficial do Android: https://developer.android.com/reference/android/widget/ProgressBar.html

Espero ter ajudado e bons estudos.