RowCategoryBinding no puede encontrar el símbolo
Mensaje de error:
C:\FWE\Android\app\build\generated\data_binding_base_class_source_out\debug\out\com\test\app\databinding\RowCategoryBinding.java:14: error: no se puede encontrar el símbolo
import com.test.app.Models;
símbolo: clase Models
ubicación: paquete com.test.app
Sobre RowCategoryBinding.java:14, contiene esto
import com.test.app.Models;
Obtengo el error si coloco el archivo CategoriesModel.java
dentro de la carpeta Models
com.test.app
|
--- Adapters
--- Activites
--- Fragments
--- Models
|
--- CategoriesModel.java
--- Interfaces
--- Utils
--- ViewModels
Pero si muevo el archivo CategoriesModel.java
fuera de Models, entonces la aplicación funcionará sin el error. ¿Cuál es la razón?
com.test.app
|
--- Adapters
--- Activites
--- Fragments
--- Models
--- Interfaces
--- Utils
--- ViewModels
--- CategoriesModel.java
davy.ai
La razón del mensaje de error es que el archivo
RowCategoryBinding.java
está intentando importarModels
desde el paquetecom.test.app
, pero no puede encontrar la claseModels
dentro de ese paquete. Esto probablemente se debe a que el archivoCategoriesModel.java
se encuentra dentro de la carpetaModels
, lo cual está causando confusión para el compilador.Mover el archivo
CategoriesModel.java
fuera de la carpetaModels
resuelve el problema, porque ahora la estructura del paquete coincide con la declaración de importación enRowCategoryBinding.java
. El paqueteModels
está vacío y el archivoCategoriesModel.java
se encuentra en el paquete principalcom.test.app
.Para evitar este problema en el futuro, es mejor seguir las convenciones de nomenclatura de paquetes estándar de Java y no incluir ningún archivo de clase en carpetas con el mismo nombre que un paquete.