poner - setSupportProgressBarIndeterminateVisibility que genera java.lang.NullPointerException cuando se usa con Android 5.0 SDK(API 21)
progressbar android examples (2)
Debe usar la barra de herramientas en lugar de la barra de acción y agregar la barra de progreso en la barra de herramientas.
Aquí hay una solución fácil para insertar una barra de progreso indeterminada en la barra de herramientas; Resulta que no es difícil en absoluto :) Simplemente ponga su elemento xml ProgressBar dentro de su barra de herramientas de esta manera:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<ProgressBar
android:id="@+id/progress_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:indeterminate="true"
android:visibility="gone" />
</android.support.v7.widget.Toolbar>
Y luego en tu AppCompatActivity , simplemente recupera la Barra de progreso después de recuperar la Barra de herramientas y configura la Barra de progreso en visible o invisible cuando la necesites.
protected void onCreate(Bundle savedInstanceState)
{
setContentView(R.layout.toolbar);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
progressBar = (ProgressBar) findViewById(R.id.progress_spinner);
//Make progress bar appear when you need it
progressBar.setVisibility(View.VISIBLE);
//Make progress bar disappear
progressBar.setVisibility(View.INVISIBLE);
}
Espero que esto ayude :)
EDIT: reemplazó ActionBarActivity con AppCompatActivity según las últimas pautas de las bibliotecas de soporte de Android.
Mi clase de actividad extiende android.support.v7.app.ActionBarActivity. Estoy solicitando la función de ventana y llamando a setSupportProgressBarIndeterminateVisibility () en el método onCreate () de la siguiente manera:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
setSupportProgressBarIndeterminateVisibility(true);
}
No puedo entender qué está mal con mi código y por qué java.lang.NullPointerException
la setSupportProgressBarIndeterminateVisibility()
java.lang.NullPointerException
provocada por setSupportProgressBarIndeterminateVisibility()
.
Mis dependencias de gradle contienen:
compile ''com.android.support:appcompat-v7:21.0.0''
¿Alguien sabe cómo usar la barra de progreso indeterminada en la barra de acción de support.v7 con la API 21?
Por este comentario en el anuncio de AppCompat v21 de Chris Banes (el autor de AppCompat):
De cualquier manera, las barras de progreso ya no son compatibles con la barra de herramientas.
Sobre por qué
Porque la barra de herramientas es un widget altamente enfocado. Si desea una barra de progreso, agréguela a la barra de herramientas (solo es un grupo de vista).
Espero más información a medida que la documentación oficial se actualice aquí en breve.