Android Studio: Gradle: error: no se puede encontrar la variable de símbolo

Estaba trabajando en mi aplicación y todo estaba normal hasta que intenté mostrar la imagen en Java.

Ejecuté la aplicación una vez y funcionaba normalmente, se mostró la imagen. Después de eso, me pidió que importara algunas bibliotecas y las importé. Después de eso, obtuve errores para mis actividades.

Errores como:

Gradle: error: cannot find symbol variable activity_main Gradle: error: cannot find symbol variable button1 Gradle: error: cannot find symbol variable button2 Gradle: error: cannot find symbol variable textView Gradle: error: cannot find symbol variable secondActivity 

En MainActivity, importé estas bibliotecas:

 import android.R; import android.content.Intent; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.Button; 

y en la segunda actividad estos:

 import android.R; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; 

¿Alguien sabe cómo arreglar esto?

EDITAR: borré import android.R; y ahora funciona normalmente.

No deberías estar importando android.R . Eso debe ser generado y reconocido automáticamente. Esta pregunta contiene muchos consejos útiles si recibe algún error al hacer referencia a R después de eliminar la importación.

Algunos pasos básicos después de eliminar la importación, si esos errores aparecen:

  • Limpia tu construcción, luego reconstruye
  • Asegúrese de que no haya errores o errores tipográficos en sus archivos XML
  • Asegúrese de que los nombres de sus recursos [a-z0-9.] compuestos por [a-z0-9.] . Las mayúsculas o los símbolos no están permitidos por alguna razón.
  • Realice una sincronización de Gradle (a través de Herramientas> Android> Proyecto de sincronización con archivos Gradle)

Si está usando sabores múltiples ?

-corrija que el archivo de recursos no se declare / agregue en solo uno de los sabores y en main.

Ejemplo: archivo a_layout_file.xml que contiene la (s) variable (s) de símbolo

src:

flavor1 / res / layout / (sin archivo)

flavor2 / res / layout / a_layout_file.xml

main / res / layout / a_layout_file.xml

Esta configuración dará el error: no se puede encontrar la variable de símbolo, esto es porque el archivo de recursos solo puede estar en ambos sabores o solo en el principal.

Si está utilizando un campo de configuración de comstackción String en su proyecto, este podría ser el caso:

 buildConfigField "String", "source", "play" 

Si declaras tu String como arriba, provocará el error. La solución es cambiarlo a:

 buildConfigField "String", "source", "\"play\"" 

asegúrese de que la R importada no sea de otro módulo. Moví una clase de un módulo al proyecto principal, y la R fue la del módulo.

Asegúrate de tener MainActivity y .ScanActivity en tu archivo AndroidManifest.xml :

         

Asegúrese de que sus variables estén dentro del scope del método que hace referencia a él. Por ejemplo, había definido una vista de texto localmente en un método de la clase y lo estaba haciendo referencia en otro método.

Moví la definición de la vista de texto fuera del método justo debajo de la definición de la clase para que el otro método pudiera acceder a la definición, lo que resolvió el problema.

Otra alternativa a la respuesta anterior de @TouchBoarder es que también puede tener dos archivos de diseño con el mismo nombre pero para diferentes versiones de API. Debería eliminar el archivo my_file.xml anterior

 my_file.xml my_file.xml(v21)