声明RecyclerView适配器的最佳方法

时间:2019-06-27 05:23:43

标签: kotlin android-recyclerview recycler-adapter

我正在运行一个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。哪个更好?

2 个答案:

答案 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。)