ArrayAdapter utiliza Kotlin android
Lo siento por mi inglés. Estoy aprendiendo kotlin y ahora necesito escribir ArrayAdapter, pero tengo algún error cuando intente hacer esto convertView = vi.inflate(resource, null)
kotlin me dice Val cannot be reassigned
. En el sitio kotline i convertir la clase java a la clase kotlin y tratar de hacer como en este sitio. ¿Por qué tengo erro, cómo puedo solucionar esto?
open class MyAdapter(context: Context, resource: Int, list: ArrayList<MyItems>) : ArrayAdapter<MyItems>(context, resource, list) { var resource: Int var list: ArrayList<MyItems> var vi: LayoutInflater init { this.resource = resource this.list = list this.vi = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater } override fun getView(position: Int, convertView: View?, parent: ViewGroup): View? { var holder: ViewHolder if(convertView == null){ convertView = vi.inflate(resource, null) //error in this line holder = ViewHolder() holder.image = convertView.findViewById(R.id.myImage) as ImageView? convertView.tag(holder) //error in this line } else { holder = convertView.tag as ViewHolder } return convertView } internal class ViewHolder { var image: ImageView? = null } }
- No se puede usar el valor argb color int en Kotlin?
- Kotlin cuando con varios valores no funciona cuando el valor es una vista de Android
- ¿Cómo puedo representar una relación de muchos a muchos con Android Room?
- WeakReference no funciona en Kotlin
- Android Room - consulta de selección simple - No se puede acceder a la base de datos en el hilo principal
- Advertencia de tiempo de ejecución de Kotlin desactualizada (plugin Kotlin 1.1.2-release-Studio2.3-3)
- JaCoCo devuelve 0% de cobertura con Kotlin y Android 3.0
- Anko equivalente a estilo attr en xml
- Persistencia de la habitación: Error: Entidades y Pojos deben tener un constructor público utilizable
- Realm, inicializar una matriz de cadena vacía devuelve "Tipo no soportado java.lang.String " en la compilación
- Error al convertir de Java a Kotlin. Error - org.gradle.api.tasks.TaskExecutionException: Error de ejecución para la tarea ': app: compileDebugKotlin'
- Kotlin - La forma más idiomática de convertir una lista a una MutableList
- Propiedad de Kotlin: "Se debe utilizar el parámetro de tipo de una propiedad en su tipo de receptor"
La variable de parámetro no puede ser reasignada, necesitará crear una variable local para mantener la vista devuelta:
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View? { var holder: ViewHolder var retView: View if(convertView == null){ retView = vi.inflate(resource, null) holder = ViewHolder() holder.image = retView.findViewById(R.id.myImage) as ImageView? retView.tag(holder) //error in this line } else { holder = convertView.tag as ViewHolder retView = convertView } return retView }
- Android cómo obtener la galería de fotos de teléfonos?
- SDK de Android: ¿referencia la aplicación de galería del teléfono?