还在改 findviewbyid 代码的我:)
https://twitter.com/JakeWharton/status/1242537704887406593?s=19
1
hahaayaoyaoyao 2020-03-26 21:07:16 +08:00
|
2
ReinWD 2020-03-26 21:13:10 +08:00 via Android
青春结束了(
|
3
insomnia1232 OP @hahaayaoyaoyao 感觉没有 kotlin 的插件方便哦
|
4
lear7 2020-03-26 22:29:40 +08:00
Kotlin 里在 Adapter 里还需要 findviewbyid,无法用 extension
|
5
clodds 2020-03-26 22:32:00 +08:00
所以说 尽可能用原生写就用原生写吧,第三方还是....
|
6
basefas 2020-03-26 22:40:43 +08:00
AS 直接提示也没麻烦到哪去,对项目的侵入还大,能不用就不用
|
7
MarkTonyFromMars 2020-03-26 23:18:20 +08:00
@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 |
8
hyyou2010 2020-03-27 00:08:37 +08:00
被 view-binding or data-binding 替代了。
|
9
bkmi 2020-03-27 00:40:16 +08:00 1
@MarkTonyFromMars 你知道你代码里面的 title 翻译成字节码是 findViewById(R.id.title) 吗?
一个解决办法是把 title 声明为成员变量,只 find 一次 |
10
MarkTonyFromMars 2020-03-27 10:41:22 +08:00
@bkmi 我知道在字节码里每次都是 findViewById 但是上面 lear7 说不能用 kotlin android extension, 我是为了反驳这个, 能用, 只是不好用
|
11
lear7 2020-03-27 12:09:57 +08:00
@MarkTonyFromMars 在里边是可以用,但我的 GenericAdapter 是把 Binding 方法抽到外部的,在外部会报空,你知道怎么解决吗?
|
12
MarkTonyFromMars 2020-03-27 13:40:32 +08:00
@lear7 还是用传统的 findViewById 吧, 用 bkmi 的那种提到的方法, 我觉得 kotlin android extension 不适合用在 recycler view adapter 里
|
13
insomnia1232 OP @bkmi 不是会有个 map 缓存 view 吗 不是每次都 find 吧
|
15
CodeGou 2020-03-30 10:20:19 +08:00
viewbinding 真香
|