Tengo un reciclador que recibe información de una modificación. Quiero que la barra de progreso esté activa hasta el procesamiento completo de esta información. (Tal vez el tiempo de visibilidad de la barra de progreso u otra cosa)
Uso una barra de progreso personalizada: https://github.com/ybq/Android-SpinKit
public void retrofitView() {
ProgressBar progressBar;
progressBar = findViewById(R.id.ProgressBar_MainActivity);
DoubleBounce doubleBounce = new DoubleBounce();
progressBar.setIndeterminateDrawable(doubleBounce);
progressBar.setVisibility(View.VISIBLE);
Call<List<Restaurants>> call = RetrofitClient.apiService.getRestaurants();
call.enqueue(new Callback<List<Restaurants>>() {
@Override
public void onResponse(Call<List<Restaurants>> call, Response<List<Restaurants>> response) {
restaurantRecyclerInit(response.body());
}
@Override
public void onFailure(Call<List<Restaurants>> call, Throwable t) {
Toast.makeText(MainActivity.this, "ddd", Toast.LENGTH_SHORT).show();
}
});
}
3 respuestas
Usar el siguiente código te ayudará
public void retrofitView() {
ProgressBar progressBar;
progressBar = findViewById(R.id.ProgressBar_MainActivity);
DoubleBounce doubleBounce = new DoubleBounce();
progressBar.setIndeterminateDrawable(doubleBounce);
progressBar.setVisibility(View.VISIBLE);
Call<List<Restaurants>> call = RetrofitClient.apiService.getRestaurants();
call.enqueue(new Callback<List<Restaurants>>() {
@Override
public void onResponse(Call<List<Restaurants>> call, Response<List<Restaurants>> response) {
progressBar.setVisibility(View.GONE); //This will make your progress bar visibility off after data load successfully
restaurantRecyclerInit(response.body());
}
@Override
public void onFailure(Call<List<Restaurants>> call, Throwable t) {
progressBar.setVisibility(View.GONE); // Same here also
Toast.makeText(MainActivity.this, "ddd", Toast.LENGTH_SHORT).show();
}
});
}
Simplemente configure progressBar.setVisibility(View.GONE);
en onResponse
y onFailure
. No configure un temporizador ya que no sabe cuánto tiempo va a ser.
Mejor use la clase AsyncTask y cargue su barra de progreso al comienzo del código y deténgalo en el método 'onPostExecute'. para obtener más detalles, consulte: https://developer.android.com/reference/android/os / AsyncTask
Nuevas preguntas
java
Java es un lenguaje de programación de alto nivel. Utilice esta etiqueta cuando tenga problemas para usar o comprender el idioma en sí. Esta etiqueta rara vez se usa sola y se usa con mayor frecuencia junto con [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] y [maven].