我正在运行一个recyclerView(id = myList
),但是我对声明RecyclerView的正确和最佳方法有疑问:
val myRecycler = findViewById<RecyclerView>(R.id.myList)
myRecycler.layoutManager = LinearLayoutManager(this)
myRecycler.adapter = CustomAdapter(items)
或者以这种方式:
myList.layoutManager = LinearLayoutManager(this)
myList.adapter = CustomAdapter(items)
两种情况对我来说都是正确的,在第二种情况下,不必使用findViewById
。哪个更好?
答案 0 :(得分:1)
不能肯定地说,但我想这些设备资源消耗是相等或几乎相等的。如您所知,如今的设备比4到5年的旧设备要强大得多,因此许多开发人员更喜欢更简单,更短的代码,即使效率较低。 对我来说,这段代码是最好的:
Catalina.out
答案 1 :(得分:1)
Kotlin帮助开发人员编写简洁的代码而不影响其可读性。因此,开发人员不必再担心编写样板代码了。
通过添加以下内容:
apply plugin: 'kotlin-android-extensions'
在应用程序的构建gradle中,kotlin可以自动为您检测视图ID,从而您不必再编写“ findViewById”。
因此,编写上述代码的一种更有效的方法是:
myList.apply {
layoutManager = LinearLayoutManager(this)
adapter = CustomAdapter(items)
}
(注意:“ kotlin-android-extensions”不仅仅为您自动找到视图ID,它的所有功能都参考Kotlin Android Extensions。)