es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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
Tags:  ,

Answer

  1. Avatar for davy.ai

    La razón del mensaje de error es que el archivo RowCategoryBinding.java está intentando importar Models desde el paquete com.test.app, pero no puede encontrar la clase Models dentro de ese paquete. Esto probablemente se debe a que el archivo CategoriesModel.java se encuentra dentro de la carpeta Models, lo cual está causando confusión para el compilador.

    Mover el archivo CategoriesModel.java fuera de la carpeta Models resuelve el problema, porque ahora la estructura del paquete coincide con la declaración de importación en RowCategoryBinding.java. El paquete Models está vacío y el archivo CategoriesModel.java se encuentra en el paquete principal com.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.

Comments are closed.