Estoy enfrentando un problema en DataBindingUtil.setContentView() . Está mostrando el siguiente error.
[Error en la inferencia de tipo: No hay suficiente información para inferir el parámetro T en fun setContentView(p0: Actividad, p1: Int): ¡T! Por favor, especifíquelo explícitamente.
Mi código :
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_home) var binding = DataBindingUtil.setContentView(this, R.layout.activity_home) } Alguien me ayuda a resolver este error. También he limpiado y Rebuild(Invalidate and Restart) .
Por favor, hágamelo saber cualquier otra sugerencia.
Usar:
var binding : ActivityHomeBinding = DataBindingUtil.setContentView(this, R.layout.activity_home) DataBindingUtil.setContentView devuelve el enlace del archivo de diseño particular pasado como parámetro.
Cree un objeto vinculante como este.
val binding: ActivityMainBinding = DataBindingUtil.setContentView( this, R.layout.activity_main) Tienes que mencionar el tipo de enlace de actividad . Tengo la actividad principal, por lo que el tipo de enlace es ActivityMainBinding . Esto es lo que te has perdido.
Debería ser así:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home) var binding : ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_home) }por cierto, Clean build, invalid y restart no es la única solución en el estudio de Android #JustKidding :)
Con respecto al error que enfrenta, en realidad necesita especificar la Vista:
val listViewEmployees = findViewById(R.id.listViewEmployees)
como ListView a
val listViewEmployees = findViewById<ListView>(R.id.listViewEmployees)