带有ArrayAdapter的Anko DSL
今天,我一直在努力将我的一个应用程序转换为纯粹的kotlin构建。 我正在努力与阵列适配器目前,并得到这个错误。
File from xml type layout resource ID #0x7f0c000a
这是我的活动有错误。
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() } }
这是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>
我已经尝试了一些东西,但没有运气,所以任何指导将不胜感激。 我想我只是想念一些愚蠢的东西。
删除这一行<item name="test_text_layout" type="id"/>
在res/layout
dir中创建文件,将其test_text_layout.xml
并添加以下内容
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"/>
在活动的代码
val cardAdapter = ArrayAdapter(ctx, R.layout.test_text_layout, arr)
问题的原因 – 你传递了错误的参数。 从文档
resource int:包含要在实例化视图时使用的TextView的布局文件的资源ID。
如果你想彻底摆脱xml,那么你需要扩展ArrayAdapter
- RxJava Debounce onNext()
- 未解决的参考:使用greendao和kotlin的DaoSession
- kotlin如何让setOnClickListener接受函数作为参数
- Android工作室突然未能解决其他模块的依赖关系
- 如何在anko中创建标签视图
- 如何使用Kotlin设置OnEditorActionListener
- Android Firebase身份验证:未找到com.google.android.gms.crash和com.google.firebase.auth的本地模块描述符类
- 本地委托属性和内联属性不支持增加赋值和增量
- 错误:错误:在类型为View的可为空的接收方上只允许使用safe(?。)或非null断言(!!)调用。