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