Ho una vista con EditText
, Button
e ListView
. Il pulsante onClick()
analizza un sito (questa parte funziona correttamente), ma ci vuole un po 'di tempo per visualizzare le informazioni analizzate in ListView
, quindi voglio visualizzare il piccolo ProgressBar
sul posto, dove il ListView
dovrebbe aver luogo dopo un po'.Come visualizzare una barra di avanzamento su una vista mentre si lavora?
Così, aggiungo questo per il mio layout (scrivo parte importante qui):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/layout1"
android:weightSum="1.0">
<EditText
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight=".86" />
<ImageButton
android:layout_height="match_parent"
android:layout_width="0px"
android:layout_weight=".14" />
</LinearLayout>
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_below="@id/layout1"
android:gravity="center"
android:layout_centerInParent="true"
android:id="@+id/progressbar" >
<ProgressBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="@android:style/Widget.ProgressBar.Small" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/layout1">
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
</RelativeLayout>
Nel codice sorgente:
progressBar = (RelativeLayout) findViewById(R.id.progressbar);
E ogni volta che desidera visualizzare il ProgressBar
, faccio questo :
progressBar.setVisibility(View.VISIBLE);
per la disattivazione:
progressBar.setVisibility(View.INVISIBLE);
Ma questo non funziona.
Come posso risolvere questo problema?
* Ma questo non funziona. * - Questo non è molto utile. Cura di spiegare meglio qual è il problema? – Luksprog
Non riesco a vedere alcun 'ProgressBar' visualizzato. Funziona esattamente come ha funzionato senza aggiungere le bazzecole 'ProgressBar'. – azizbekian
D'accordo con Luksprog, ma sarei disposto a indovinare che il tuo parsing sta bloccando (quindi i codici di setvisibilità non sono in esecuzione fino al post-analisi). Ci sono un sacco di modi per risolvere questo problema, ma ti consiglio di effettuare una ricerca per barra di avanzamento e asynctask (ci sono altri modi per farlo, ma in pratica devi avviare un metodo displayprogressbar non bloccante nello stesso momento in cui esegui il tuo l'analisi, quindi nella barra displayprogress controllare il completamento del processo di analisi prima di tornare). – logray