tutorial tools studio full español developer java android android-studio

java - tools - android tutorial español



Android O casting para encontrar ViewById ya no es necesario? (2)

Recientemente, actualicé mi SDK de Android y herramientas de compilación para API 26 en Android Studio y me di cuenta directamente de que Android Studio marcaba mis visualizaciones como "redundantes" cuando hago algo como esto:

TextView itemName = (TextView) findViewById(R.id.menuItemName);

Después de algunas investigaciones, descubrí que desde SDK 26, findViewById usa las características de Java 8 para devolver el mismo tipo de objeto, pero lo que quería saber es si es completamente seguro eliminar todas las versiones. ¿Esto causará problemas en Android antes del 26? Cualquier información adicional sobre esto sería útil ya que no encontré mucho en Internet. Gracias por adelantado.


Simple y Elegante

En la versión antigua (SDK debajo de 26)

TextView name=(TextView) findViewById(R.id.TextView);

Por encima del SDK 26

TextView name= findViewById(R.id.TextView);


La firma del método cambió como lo notó y ahora se ve así:

public <T extends View> T findViewById(int id);

en comparación con el anterior (pre SDK 26) uno:

public View findViewById(int id);

siempre que use el SDK 26 (o más reciente) para compilar su proyecto, puede eliminar de manera segura el casting de su código ya que usará el nuevo findViewById() que ya no lo requiere.

¿Entonces tener un minSdk menor de 26 no causará problemas?

No, ni minSdk ni targetSdk realmente importan. Lo que importa es compileSdk que debe ser 26 o superior.