Soy nuevo en esto de kotlin y vengo de programar en java, pero me doy cuenta cada dia que pasa que esto de los lenguajes abiertos parece un mapa donde cada persona que lo agarra lo interpreta de manera distinta y al final llegan pero unos por el camino mas corto otros por el mas largo, algunos ni llegan, te agradezco porque eres uno de los pocos que enseñan el camino corto, y te felicito porque detalles importantes no lo obviaste, una vez mas gracias...
Hermano eres un crack, a parte que me salvaste la vida, eres el único de youtube que he visto que mezcla kotlin, con buena pedagogía y código. A parte de cosas recientes! Este canal esta super fino
Muy buena explicación. No obstante, creo oportunas las siguientes puntualizaciones respecto a la implementación en Fragment: 1. Tal como está en el vídeo es propenso a memory leaks. Como buena práctica se debe reasignar _binding a null en el método onDestroyView(). De lo contrario, la referencia a la clase generada por el View Binding (que aloja todas las referencias a las vistas del layout) sobrevivirá el ciclo de vida del Fragment y el colector de basura no podrá liberar ese espacio en memoria. 2. También se puede inflar el layout desde el constructor. En ese caso, se usaría el método bind() desde onViewCreated(), en lugar de inflate() desde onCreateView(). Es decir, la vista ya estaría inflada, y solo haría falta enganchar el binding a ésta.
Totalmente, muy buenas indicaciones. Muchas veces no explico todo porque al tener que explicar a un rango tan extenso de gente con niveles distintos tengo que hacerlo lo más genérico posible y si por ejemplo no conocen el ciclo de vida pues acabarían bastante confusos, pero muy buena info, muchas gracias!
Bendiciones, estoy entrando al mundo de la programación movil y reconozco que eres un excelente maestro y tienes una excelente forma de explicar los temas con ejemplos reales y esto es bastante bueno.
Me has salvado la vida, estaba desesperado buscando cómo acceder a la vista con viewBinding en fragments para utilizar botones y otros eventos y no había manera... En unos minutos me lo has solucionado, grande!
Crack, gracias. Definitivamente nunca había entendido esto del ViewBinding y vengo de tus videos de MVVM. Quiero aprender MVVM y tus explicaciones son lo mejor. Un abrazo desde El Salvador y sigo tus videos.
Tio, hoy en el trabajo me he estado 2 h i no lo he podido solucionar, en tu vídeo me lo has solucionado en nada😂😂 se que es viejo el vídeo pero vaya maestro
Gracias Aris. Como siempre muy práctico. Llendo al tema, siempre hay que estar estudiando y estando atento a cada nuevo agregado. Android no para de avanzar. La tencología vuela. Saludos
Hola. Pienso que para que tu Curso de Kotlin para Android, (en 2022 año en que estoy viéndolo) siga siendo funcional, es necesario que incluyas el view Binding, con el mismo ejemplo que llevabas en el capitulo 9 y 10 , en mi caso iba excelente, aprendiendo mucho, siguiendo tus enseñanzas e instrucciones, sin embargo al final todo ese aprendizaje se corto por que no vi el resultado, por todos los errores que me envió. Considerando que empecé de cero aprendí mucho. Pero quede con la sensación de que el curso fue incompleto. Excelente día y gracias por la atención. 👍
Hector estoy en las mismas, buscando por donde continuar con el aprendizaje con algún contenido mas actual. Porque con los errores no puedo continuar, y tan interesante que estaba el curso.
Excelente, a estas alturas creo que ya está deprecado completamente el anterior, al menos a mi me dio problemas para importar el kotlin android extensions, pero con esto del viewbinding ya funciona nuevamente lo que necesito; muchas gracias!
Bro te juro que no encontraba solucion en ningun lado hasta que encontre tu video De verdad infinitas gracias Ahora si a acabar el semestre en linea jajaja
Buen Video me vi todos tus videos casi en un día me gusta tu contenido si pudieras hacer un video de usar Apis a profundidad desde cero nos ayudaría mucho son pocos los videos de estos en kotlin y que sea actualizados :)
hola master!, estoy siguiendo tus tutoriales y por discord y es muy activo y con buena onda todos alli. Gracias por los aportazos que das, me sirven mucho!! un abrazo
a que cosas primero comente en otro video despues revise los comentarios y mirame aqui jajajajajaja gracias bro seguire con el curso y los mirare una otra y otra vez hasta que fluya en mi mente como fluye la programacion arduino
SI ESTAS APRENDIENDO LEE ESTO: cuando declaramos la variable (private lateinit var binding) si estamos en la clase MAIN ACTIVITY seria del objeto ActivityMainBinding (private lateinit var binding: ActivityMainBinding) pero si estas en en la clase Login la reclaracion seria (private lateinit var binding: ActivityLoginBinding), lo se soy un idiota por durar 3 horas viendo que solo podía acceder a los elementos de activity_main sin saber el porque.
Hola amigo, que diferencia tendria declarar como lateinit la variable del binding del fragment y usarla directamente para retornarla?, si al final de cuentas se le da memoria en el oncreateview no?. Saludos
si lograste resolver lo de vewBinding? Yo llevo intentándolo y no he podido, me sale un error al actualizar en el archivo bild.grade al colocarlo, tengo la versión 2021 3.1 que apenas he descargado no se si me puedas ayudar
he intentado hacer las 2 formas del viewBiding y para el modelo 2020.3.1 en vez de enable = true ( que me da error ) usé enabled = true ( de esta forma conseguí que colara espero no tener problemas más adelante)
cree una segunda activity, con el mismo binding del primero y no me funcionan los botones, no me llega la informacion tampoco, tienes unas comunidad de discord o algo por el estilo?, donde se contesten preguntas.
Una consulta. Cuando detallas según la versión de Android, que poner para que funcione el binding... Para el que tiene una versión anterior que la cuatro..no es mejor que la actualice su versión de Android Studio? Por qué no lo actualizaría?
Tengo un problema, como relaciono un DialogFragment con un Relative Layout, tengo que cambiar de posicion un boton de un layout que estoy implementando de otro repositorio.
Que tal amigo, gracias por tus cursos. pero tengo una duda(como funcionarian el binding con condiciones (if)? . me refiero a como acceder a un EditText por ejemplo desde un if. espero haberme explicado saludos.
Ari, si quiero hacer cosas más complicadas, como cambiar el color de un texto, ¿Cómo lo puedo hacer con ViewBinding? Lo he intentado de varias formas, sólo una me funcionó, y me dice que una expresión es deprecada (esto lo apliqué en un RecyclerView Adapter): binding.tvTimeSlotStatus.setTextColor(binding.root.context.resources.getColor(R.color.dartmouth_green)) No sé si hay otra forma de hacer esto con ViewBinding, lo único que encuentro son aplicaciones con DataBinding, pero no me quiero meter con eso ahora.
EL video es super bueno. Solo una duda. El Binding se usa con el mismo nombre que tenga el Layout que se quiere aceder verdad? No es el de la clase, no? (Normalmente la clase y el layout suelen coindidir pero otras no)
hola, 11:29 en la "fun bind()" me dice que la función no se esta usando, quería saber en que parte llamar a la función, porque me sale todo negro la pantalla y supongo que es por eso(estoy usando el ejemplo del tutorial de recycler view tuyo)
Hola Ari. Sos realmente muy bueno explicando. Te felicito y te agradezco mucho tus videos. Soy nuevo en ésto. Arranqué hace un mes aproximadamente y cada paso que voy dando me voy dando cuenta que estoy aprendiendo algo viejo y ya tengo que actualizar mi código viejo. jajaja Te quiero pedir si me ayudas a implementar el binding Desde ya muchas gracias //val n_v = findViewById(R.id.nav_view) //val headerView: View = n_v.getHeaderView(0) //la linea de abajo reemplaza las dos anteriores val headerView = binding.navView.getHeaderView(0) //aca no se como implementar el binding val tv_usu = headerView.findViewById(R.id.textView_userName) val tv_mail = headerView.findViewById(R.id.textView_userEmail)
Es una activity? De todos modos si quieres ayuda de una forma mas comoda te puedes unir al discord de la comunidad (tienes el link de acceso en cursokotlin.com)
Si el problema que soluciona el View Binding es no confundir de qué pantalla llamar elementos cuando podemos tener ID duplicados. Estos ID duplicados no debería de existir , porque p.e cuándo creas un segundo activity y duplicas el ID de un botton, te salta un aviso que ya existe ese ID. Seguramente se me estará pasando algo más gordo que no visualizo. Importante: desde Kotlin 1.4.20, las Kotlin Android Extensions están deprecadas, y la recomendación es usar ViewBinding en su lugar.
Hola, ya estoy usando el viewBinding. ahora una preguntam, cada vez que creo una clase, debo modificar el SetContentView(....) o hay alguna forma de armar la nueva clase con los datos que corresponden. Gracias
Hola soy nuevo, voy siguiendo los capítulos de tu Curso me topo con este y me perdí completamente, no se si regresarme o buscar respaldos, seria bueno reestructurar el curso los capítulos para gente nueva Saludos
hola Ari, para los fragments existe diferencia si inicio binding en la función onViewCreated, yo lo hice así y funciona: binding = FragmentExampleBinding.bind(view) ? pero no sea si sea lo correcto, gracias
El layout no se transforma, lo que se modifica es la forma de llamarlo (añadir el ViewBinding) y sí, es necesario ya que synthetic está deprecado y desaparecerá enm futuras versiones
Ostras, pues había escuchado de esto sobre los Fragments. Ahora me doy cuenta que yo estaba usando esto SIEMPRE para los fragments con bindings.... FragmentMainBinding.inflate(layoutInflater). XD!!!
Hola !!tengo una duda en un repositorio se puede guardar mas de un proyecto android studio, he intentado pero solo se sube un proyecto a cada repositorio, seria genial poder subir en un mismo repositorio mas proyectos de android studio con otros ide se puede pero no con android, saludos.