2016-09-19 1 views
0

je le code suivant où je crée un ProgressBar dans une boîte de dialogue:objet null Android référence ProgressBar dans le dialogue

final Dialog dialog = new Dialog(context); 
dialog.setContentView(R.layout.wait_for_response_dialog); 

final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar); 
final int[] i = {0}; 

bar.setProgress(i[0]); 

Et ma mise en page du ProressBar est le suivant dans wait_for_response_dialog.xml:

<ProgressBar 
     android:id="@+id/responseWaitBar" 
     style="@android:style/Widget.ProgressBar.Horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" /> 

Mais je reçois l'erreur suivante pour la ligne bar.setProgress(i[0]);:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setProgress(int)' on a null object reference

+0

L'homme accepte la réponse si aidé. J'ai répondu en premier. – W4R10CK

+0

Je suis désolé, mais stackoverflow a dit que Gustavo était une minute plus tôt que vous ... – farahm

+0

Il dit que j'étais 2 minutes plus tôt pour lui. – W4R10CK

Répondre

1

Utilisez dialog pour init. le ProgressBar.

final Dialog dialog = new Dialog(context); 
dialog.setContentView(R.layout.wait_for_response_dialog); 

final ProgressBar bar = (ProgressBar)dialog.findViewById(R.id.responseWaitBar); 
final int[] i = {0}; 

bar.setProgress(i[0]); 
1

Si votre barre de progression se trouve dans votre boîte de dialogue vous devez changer la ligne

final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar); 

pour cette

final ProgressBar bar = (ProgressBar) dialog.findViewById(R.id.responseWaitBar); 

Bonne chance!