Button.findViewById vs Button = findViewById

时间:2018-05-04 10:56:00

标签: java android-studio kotlin

嘿伙计们我是编程新手。在Android Studio(Kotlin)中尝试一些东西 我已经找到了这个,但没有找到答案。 Button

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

一样写

有人可以告诉我哪里(或者是什么)有什么区别?

2 个答案:

答案 0 :(得分:0)

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

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

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

执行findViewById(R.id.btn)时直接从自定义视图代码中调用此方法。通常它在一个活动中。然后它会查看此活动的布局,如果有一个视图让btn有ID。如果有它返回它,否则返回null。

答案 1 :(得分:0)

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