我正试图找出在Kotlin中进行Android视图绑定的最佳方法。似乎有几个选择:
val button: Button by lazy { findViewById<Button>(R.id.button) }
@BindView(R.id.button) lateinit var button: Button
import kotlinx.android.synthetic.main.activity_main.*
我对java中的findViewById和Butternife非常熟悉,但是在Kotlin中,每种视图绑定方法的优缺点是什么?
Kotlin Android扩展能很好地使用RecycerView+ViewHolder模式吗?
另外,Kotlin Android扩展如何通过include
处理嵌套视图的视图绑定?
<...>
<include layout="@layout/custom" android:id="@+id/custom" />
</>
<...>
<View android:id="@+id/custom1" ... />
<View android:id="@+id/custom2" ... />
</>
kotlin-android-extensions
更适合kotlin
。Butternife也不错,但是kotlin-android-extensions
是更好、更明智的选择。
原因:Kotlin
使用合成
属性,这些属性使用缓存函数
按需调用(因此活动/片段加载速度稍快),而Butterknife.bind()
每次绑定所有视图(这消耗的时间稍多)。使用Kotlin
,您甚至不需要使用注释来绑定视图。
是的,它也适用于RecycerView+ViewHolder模式,您只需导入kotlinx.android.synthetic.main.layout_main.view.*
(如果layout_main.xml
是活动/片段布局文件名)。
您不需要为使用include
导入的布局做任何额外的工作。只需使用导入视图的id。
请参阅以下官方文件说明:
Kotlin Android Extensions是Kotlin编译器的插件,它有两个功能:
class MyActivity : Activity()
fun MyActivity.a() {
this.textView.setText(“”)
}
fun Activity.b() {
this.textView.setText(“”)
}
链接到上面的文档页面
希望能有所帮助。
我正在尝试在Kotlin和碎片中做视图绑定。 但是当它有很多对象的时候。我需要给它下个定义。所以我不得不看: Kotlin Android视图绑定:findViewById vs Butternife vs Kotlin Android扩展 和 但是我在Android Studio中找不到 我可以在我的程序中做什么?
我一直在关注YT视频制作测验应用程序,但最终我在绑定时遇到了这个错误: “kotlin android extensions”Gradle插件已被弃用 请使用本迁移指南(https://goo.gle/kotlin-android-extensions-deprecation)开始使用视图绑定的步骤(https://developer.android.com/topic/libraries/vie
我正在将一个kotlin库绑定到xamarin android,绑定并解决所有错误后,我得到了一个意外错误,没有任何解释或异常原因, JAVALang.NoClassDefFoundError:“未能解析:Landroidx/viewbinding/viewbinding;” 这是我得到的堆栈痕迹: MAYActivity.cs:40在Android。App.活动。n_OnCreate_Landr
很多时候,在制作网页时,我们希望在其他页面中重复某些页面。 CakePHP具有这样的功能,可以在另一个视图中扩展视图,为此,我们不需要再次重复代码。 extend()方法用于扩展View文件中的View 。 此方法采用一个参数,即带路径的视图文件的名称。 提供View文件的名称时,请勿使用扩展名.ctp。 例子 (Example) 在config/routes.php文件中进行更改,如以下程序所示
本文向大家介绍backbone.js 绑定到现有HTML的视图,包括了backbone.js 绑定到现有HTML的视图的使用技巧和注意事项,需要的朋友参考一下 示例 假设此HTML在页面中: 一个视图可以绑定到它: 浏览器中的HTML现在将显示: