Suprimir potencial NullPointerException en Android Studio
Esta:
@Nullable Item[] mItems; public Item getItem(int position) { return mItems[position]; }
Produce la advertencia:
- ¿Cómo se repite una imagen sólo verticalmente en android?
- Vinculación de datos de Android mediante etiqueta de inclusión
- Repoblando valores en Android Fragment onResume
- Intención no se abre en el siguiente código
- ¿Cómo puedes localizar una oración con un número dinámico de conjunciones?
Array access 'mItems[position]' may produce NullPointerException
Quiero suprimir esta advertencia (sé que getItem()
no se llamará si mItems
es nulo).
He intentado usar las siguientes anotaciones:
-
@SuppressWarnings({"NullableProblems"})
-
@SuppressWarnings({"null"})
Así como con la notación de //noinspection
, pero no funcionan.
El uso de @SuppressWarnings({"all"})
funciona, pero obviamente no es lo que estoy buscando.
Android Studio no ofrece ninguna opción de supresión cuando pulsé alt + enter , sólo las opciones para agregar un cheque nulo (inútil).
- Las pruebas de Android no se ejecutan en un dispositivo inferior a 5 (API 21) NoClassDefFoundError
- No se encontró el elemento de fuente de ejecución de Android Runtime
- ¿Es posible determinar el tamaño del archivo que se va a descargar?
- Firebase "Falta un constructor sin argumentos"
- Android: Deshabilitar casillas de verificación sin cambio gráfico?
- ¿Por qué GSON poner un punto decimal y un cero después de todos mis números JSON que originalmente no contienen ningún decimal?
- Cómo mostrar heart sign in android usando Html.fromHtml
- ¿Cómo administrar una conexión Bluetooth en Android a través de cambios de configuración?
Esto funciona para mí, pero no estoy seguro de por qué AS querría usar condiciones constantes como el supresor. Creo que tiene algo que ver con el skip null check, ya que es una condición constante (es decir, siempre no será nulo).
@Nullable Item[] mItems; @SuppressWarnings("ConstantConditions") public Item getItem(int position) { return mItems[position]; }
Si desea evitar que Android Studio le moleste con esas advertencias mientras las mantiene en el compilador, vaya a Ajustes -> Editor -> Inspecciones -> Condiciones y Excepciones Constantes y desactive la casilla.
Si en su lugar desea quitarlo completamente, utilice las Advertencias de supresión adecuadas como sugieren las otras respuestas:
@SuppressWarnings("ConstantConditions")
Para mí @SuppressWarnings
no funcionó. Acabo de agregar afirmación afirmación antes de las advertencias para hacer desaparecer.
Su código debería tener este aspecto:
@Nullable Item[] mItems; public Item getItem(int position) { assert mItems != null; return mItems[position]; }
Sé que usted dijo que está seguro de que getItem()
no será llamado si mItems
es null
. Sin embargo, el inspector no tendrá en cuenta que ya comprobar antes de llamar a la función, de ahí la advertencia.
O simplemente puede dejarlo puesto que mItems = null
nunca sucederá. Pero su código se verá un poco desordenado, y para mí es molesto.
- Utilizar mi propia aplicación Android / apk como lanzador / reemplazo de pantalla de inicio
- Cómo configurar la frontera para la vista web de Android