在 Kotlin 中调用函数 findViewById 后尖括号语法是什么意思
What does the angle bracket syntax mean after calling function findViewById in Kotlin
这里是 Kotlin 新手;
我正在学习教程,https://developer.android.com/guide/topics/ui/floating-action-button
我在基本 activity 示例代码中看到 findViewById<FloatingActionButton>(R.id.fab)
,其中 <FloatingActionButton>
部分让我失望。
findViewById<FloatingActionButton>(R.id.fab).setOnClickListener { view ->
Snackbar.make(view, getString(R.string.MySnackBar), Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
我很困惑,因为在其他示例代码中,我看到
val rollButton: Button = findViewById(R.id.roll_button)
第一个 findViewById<FloatingActionButton>
是一个界面吗(?)如果是,为什么它需要一个,而第二个是按原样传递给按钮来工作的?
我是不是误解了语法,或者可能漏掉了一个概念?
我确定我遗漏了这个拼图的一部分,但没有看到它。
首先感谢您提供的任何帮助或文档,您可以向我推荐解释它的内容!
findViewById()
需要被告知期望的视图类型。您可以通过以下两种方式之一执行此操作:
- 通过显式指定变量的类型
val button: Button = findViewById(R.id.button)
- 通过将类型参数传递给
findViewById()
val button = findViewById<Button>(R.id.button)
你当然可以将两者结合起来,但只需要一个。
就我个人而言,我更喜欢第一个选项,因为它避免了 platform types.
的推断
这里是 Kotlin 新手;
我正在学习教程,https://developer.android.com/guide/topics/ui/floating-action-button
我在基本 activity 示例代码中看到 findViewById<FloatingActionButton>(R.id.fab)
,其中 <FloatingActionButton>
部分让我失望。
findViewById<FloatingActionButton>(R.id.fab).setOnClickListener { view ->
Snackbar.make(view, getString(R.string.MySnackBar), Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
我很困惑,因为在其他示例代码中,我看到
val rollButton: Button = findViewById(R.id.roll_button)
第一个 findViewById<FloatingActionButton>
是一个界面吗(?)如果是,为什么它需要一个,而第二个是按原样传递给按钮来工作的?
我是不是误解了语法,或者可能漏掉了一个概念?
我确定我遗漏了这个拼图的一部分,但没有看到它。
首先感谢您提供的任何帮助或文档,您可以向我推荐解释它的内容!
findViewById()
需要被告知期望的视图类型。您可以通过以下两种方式之一执行此操作:
- 通过显式指定变量的类型
val button: Button = findViewById(R.id.button)
- 通过将类型参数传递给
findViewById()
val button = findViewById<Button>(R.id.button)
你当然可以将两者结合起来,但只需要一个。
就我个人而言,我更喜欢第一个选项,因为它避免了 platform types.
的推断