Anko DSL con ArrayAdapter

hoy he estado trabajando en la traducción de una de mis aplicaciones a una compilation pura de kotlin como testing. Actualmente estoy luchando con adaptadores de matriz y obteniendo este error.

File from xml type layout resource ID #0x7f0c000a 

Esta es mi actividad que tiene el error.

 class KotlinTest : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val arr = Array(5, Int::toString) verticalLayout { id = R.id.test_text_layout textView { width = matchParent height = matchParent id = R.id.test_text_item } listView { id = R.id.test_text_view } } val cardAdapter: ArrayAdapter<String>? = ArrayAdapter(ctx, R.id.test_text_layout, arr) val tempView: ListView = findViewById(R.id.test_text_view) as ListView tempView.adapter = cardAdapter cardAdapter?.notifyDataSetChanged() } } 

Y este es el file ids.xml.

 <?xml version="1.0" encoding="utf-8"?> <resources> <item name="test_text_item" type="id"/> <item name="test_text_view" type="id"/> <item name="test_text_layout" type="id"/> </resources> 

He intentado algunas cosas pero no tuve suerte, por lo que cualquier orientación sería apreciada. Supongo que me estoy perdiendo algo tonto.

Elimine esta línea <item name="test_text_layout" type="id"/>

Crea un file en el directory res/layout , llámalo test_text_layout.xml y agrega el siguiente contenido

 <?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"/> 

En código de actividad

 val cardAdapter = ArrayAdapter(ctx, R.layout.test_text_layout, arr) 

Causa del problema: ha pasado el parámetro incorrecto. De la documentation

resource int: el ID de recurso para un file de layout que contiene un TextView para usar al crear instancias de vistas.

Si desea deshacerse de xml por completo, entonces necesita extender ArrayAdapter

  • Regla de Kotlin Proguard para enum?
  • Cómo acceder a una vista desde el layout especificado en headerLayout de NavigationView usando Kotlin en Android
  • La reference Int :: class.javaPrimitiveType.kotlin no es igual a Int :: class.javaObjectType.kotlin
  • No se puede ejecutar el proyecto de Kotlin en Android Studio 3.0
  • La demostración IOU de Corda V1.0 no funciona en Windows
  • ¿Forma idiomática de transformar el map en kotlin?
  • Asignación variable de nula Kotlin
  • funciones nombradas vs reflexión lambda
  • Cómo escribir un método de extensión genérico en Kotlin?
  • MediaPlayer devuelve -1 para getDuration ()
  • Uso de LiveData con data binding