【问题标题】:Button.findViewById vs Button = findViewByIdButton.findViewById 与 Button = findViewById
【发布时间】:2018-05-04 10:55:59
【问题描述】:

大家好,我是编程新手。在 Android Studio (Kotlin) 中尝试一些东西 我一直在寻找这个,但没有找到答案。 Button

我主要使用Button.findViewById<Button>(R.id.Button),但有时它会给我错误,我必须像Button = findViewById(R.id.Button) as Button一样写它

谁能告诉我区别在哪里(或什么)?

【问题讨论】:

标签: java android-studio kotlin


【解决方案1】:

使用 kotlin:您不必使用 findViewById。您可以使用直接 ID 例如:btnSave.text="abc" 如果代码显示错误,则选择[btnSave]并单击[Alt + Enter]导入lib。

【讨论】:

    【解决方案2】:

    findViewById 搜索具有您在调用此方法的视图中提供的 Id 的视图。

    因此,当您执行Button.findViewById(R.id.btn) 时,它永远不会起作用,因为 Button 是一个类而不是视图的实例。

    当您执行myButton.findViewById(R.id.btn) 时,它会查看 myButton 内部,这是一个视图实例,如果有一个视图具有 btn 具有 id。如果有则返回,否则返回null。

    当您执行findViewById(R.id.btn) 时,您可以直接从自定义视图代码内部调用此方法。通常它在 Activity 中。然后在这个activity的layout中查找是否有btn有ID的View,有则返回,否则返回null。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多