2016-08-30 3 views
0

Ich habe einen progressDialog in meinem Fragment. Was ich brauche, ist einen kleinen Kreis zu zeigen. Aber es zeigt nur Nachricht. Es bringt mich umProgressDialog zeigt keinen Kreis

final ProgressDialog progressDialog = new ProgressDialog(getActivity()); 
     progressDialog.setIndeterminate(true); 
     progressDialog.setMessage("My message"); 
     progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large); 
     progressDialog.show(); 

Fragment - Methode zeigen Fortschritt Dialog mit Ihrer Hilfe bearbeitet

private void loginEmail() { 

     showProgressDialog(); 
     FactoryAPI.getInstanceLogin().login("[email protected]", "heslo123").enqueue(new Callback<UserResponse>() { 
      @Override 
      public void onResponse(Call<UserResponse> call, Response<UserResponse> response) { 
       if (response.isSuccessful()) { 
        user = response.body().getUser(); 
        startActivity(); 
        progressDialog.dismiss(); 
       } else { 
        Toast.makeText(getContext(), R.string.email_password_is_not_right, Toast.LENGTH_LONG).show(); 
       } 
      } 

      @Override 
      public void onFailure(Call<UserResponse> call, Throwable t) { 
       Log.e("error", "error"); 
      } 
     }); 
    } 
+0

http://stackoverflow.com/questions/5259506/i-want-a-progress-circle-instead-of-progress-dialog –

+0

Aufgrund dieser _progressDialog.setMessage (“ Meine Nachricht "); _ Nachricht wird angezeigt. U kann _ProgressBar_ verwenden, wenn Sie im Kreis möchten – Piyush

+0

Replace 'progressDialog.setProgressStyle (android.R.style.Widget_ProgressBar_Large);' mit 'progressDialog.setProgressStyle (ProgressDialog.STYLE_SPINNER);' –

Antwort

1

Verwenden Sie ein ProgressBar, kein ProgressDialog.
Beispiel: in Ihrem Layout-Datei Setzen Sie dieses, wo Sie die ProgressBar setzen wollen:

<ProgressBar 
     android:id="@+id/progressBar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="gone" 
     android:layout_gravity="center" 
     style="@style/Base.Widget.AppCompat.ProgressBar" /> 

progressBar.setVisiblity(view.visible) Dann rufen Sie, wo Sie es wollen zeigen, und es verstecken, wenn Sie fertig geladen, was Sie wollen.

+1

Während dies korrekt sein kann, ist es keine gute Antwort. Versuchen Sie, einige Beispiele zu nennen. –

+0

@TreviAwater Geänderte Antwort. – amitairos

+0

Ich habe ProgressBar versucht, aber es ist eine alte Version. Ich würde gerne moderne Version (Material Design – Stepan

1

Entfernen Sie einfach

progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large); 

standardmäßig die "Laden" -Symbol der Kreis.

+0

Markieren Sie dies als Antwort, wenn das Ihr Problem zu lösen. –

+0

es hat das Problem nicht gelöst – Stepan

1

einfach diese Zeile ändern progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large) zu progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER)

private void loginEmail() { 

    final ProgressDialog progressDialog = new ProgressDialog(getActivity); 
    progressDialog.setIndeterminate(true); 
    progressDialog.setMessage("My message"); 
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
    progressDialog.show(); 

    FactoryAPI.getInstanceLogin().login("[email protected]", "heslo123").enqueue(new Callback<UserResponse>() { 
     @Override 
     public void onResponse(Call<UserResponse> call, Response<UserResponse> response) { 

      if(progressDialog.isShowing()) 
       progressDialog.dismiss(); 

      if (response.isSuccessful()) { 
       user = response.body().getUser(); 
       startActivity(); 
      } else { 
       Toast.makeText(getContext(), R.string.email_password_is_not_right, Toast.LENGTH_LONG).show(); 
      } 
     } 

     @Override 
     public void onFailure(Call<UserResponse> call, Throwable t) { 

      if(progressDialog.isShowing()) 
       progressDialog.dismiss(); 

      Log.e("error", "error"); 
     } 
    }); 
} 

STYLE_SPINNER -

Erstellt eine ProgressDialog mit einem kreisförmigen, Spinnfortschrittsbalken.

STYLE_HORIZONTAL -

Erstellt eine ProgressDialog mit einem horizontalen Fortschrittsbalken.

Referenz: ProgressDialog

+0

Ich habe diese Zeile hinzugefügt, aber nichts geändert – Stepan

+0

Dies ist seltsam. Bitte poste deinen Fragmentcode –

+0

danke, aber der Kreis ist da, ich weiß nicht was ich falsch mache – Stepan