最近在看《第一行代码Android》第3版时,忽然发现在布局文件activity_main.xml中定义了id之后直接在MainActivity中用id是红色的,编译器报错不能直接用。在网上查了查,发现可以用findViewById()函数解决,但似乎还是哪里不对劲。今天一早看到郭霖大神公众号的新文才明白,是因为kotlin-android-extensions插件已经被Google废弃,同时Google也推荐了替代方案——使用ViewBinding。

按照文中所讲的方法修改书中的ContactsTest.
首先在build.gradle配置

android{
...
buildFeatures{
        viewBinding true
    }
}

然后在MainActivity中设置

val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, contactsList)
binding.contactsView.adapter = adapter

运行成功!
原文链接

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐