还在改 findviewbyid 代码的我:)
https://twitter.com/JakeWharton/status/1242537704887406593?s=19
还在改 findviewbyid 代码的我:)
https://twitter.com/JakeWharton/status/1242537704887406593?s=19
|
hahaayaoyaoyaoMar 26, 2020
1
|
|
ReinWDMar 26, 2020 via Android
2
青春结束了(
|
|
3
@hahaayaoyaoyao 感觉没有 kotlin 的插件方便哦
|
|
lear7Mar 26, 2020
4
Kotlin 里在 Adapter 里还需要 findviewbyid,无法用 extension
|
|
cloddsMar 26, 2020
5
所以说 尽可能用原生写就用原生写吧,第三方还是....
|
|
basefasMar 26, 2020
6
AS 直接提示也没麻烦到哪去,对项目的侵入还大,能不用就不用
|
|
MarkTonyFromMarsMar 26, 2020
7
@lear7
``` import kotlinx.android.synthetic.main.item_layout.view.* override fun onBindViewHolder(holder: ViewHolder, position: Int) { with(holder.itemView) { title.text = " " } } ``` 另外也推荐一下我自己写的文章: https://tonnyl.io/hello-viewbinding/ 或者是 https://mp.weixin.qq.com/s/VLhUBYiQ1kYXomm9_WqAEQ |
|
hyyou2010Mar 27, 2020
8
被 view-binding or data-binding 替代了。
|
|
9
@MarkTonyFromMars 你知道你代码里面的 title 翻译成字节码是 findViewById(R.id.title) 吗?
一个解决办法是把 title 声明为成员变量,只 find 一次 |
|
MarkTonyFromMarsMar 27, 2020
10
@bkmi 我知道在字节码里每次都是 findViewById 但是上面 lear7 说不能用 kotlin android extension, 我是为了反驳这个, 能用, 只是不好用
|
|
lear7Mar 27, 2020
11
@MarkTonyFromMars 在里边是可以用,但我的 GenericAdapter 是把 Binding 方法抽到外部的,在外部会报空,你知道怎么解决吗?
|
|
MarkTonyFromMarsMar 27, 2020
12
@lear7 还是用传统的 findViewById 吧, 用 bkmi 的那种提到的方法, 我觉得 kotlin android extension 不适合用在 recycler view adapter 里
|
|
13
@bkmi 不是会有个 map 缓存 view 吗 不是每次都 find 吧
|
|
CodeGouMar 30, 2020
15
viewbinding 真香
|