android - 这两个按钮有什么区别?安卓编程

标签 android eclipse

好吧,我刚开始在 Eclipse 中编写一些 android 程序,对此我有点目瞪口呆。以下是本书中编写的按钮编程的两种方式,它们都可以正常工作,除了第一种似乎更简单和更短。哪个更好,为什么?

View newButton = findViewById(R.id.main_new_button);
newButton.setOnClickListener(this);


Button newButton= (Button) this.findViewById(R.id.main_new_button);
newButton.setOnClickListener(this);

最佳答案

这两种形式是等价的。在这两种情况下,findViewById 都返回一个 View 对象,唯一的区别是在第二个版本中,对 Button 进行了显式转换,它是查看

正如您在 documentation 中看到的那样,ViewTextView的父类(super class),TextViewButton的父类(super class)。

哪个更好?这取决于。如果您需要使用特定于 Button 的功能,则首选第二种方式。另一方面,如果 View 对象就足够了,则使用第一种方式。

关于android - 这两个按钮有什么区别?安卓编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829598/

相关文章:

android - 通过单击按钮直接发送电子邮件 android

android - 作为 ListView 行的 fragment (Google Maps Android API v2)

java - Map 返回 Object 而不是通过后续调用推导

java - 我被教导说并发条件不一定需要写在循环中,这与 oracle 文档所说的相反

android - View 未附加到窗口

android - 通过 Google Play 商店在没有 Google Apps 的私有(private) channel 中部署应用程序?

android - 使用 ContentValues 和更新方法更新 sql 数据库

java - Eclipse 生成 getter 和 setter 并自动应用它们

c - 关于 C 文档

c++ - "g++"不被识别为内部或外部命令,MinGW