0

例如,

Button b = (Button) findViewById (R.id...) 
TextView t = (TextView) findViewById (R.id..)

我们为什么要做这个?我们什么时候必须这样做?

4

2 回答 2

2

每当我们将某个类的对象转换为它的子类时,我们都需要进行显式转换。

findViewById 返回 View 类的对象,并且要从该对象中获取 Button、EditText 等对象,我们需要进行显式转换。

当我们需要访问定义在子类中的方法和字段时,我们需要进行显式转换,例如setText().

当我们只需要访问 View 类的方法时,我们不需要显式转换 View,例如:

setOnClickListener().

于 2012-08-16T04:41:31.507 回答
0

当您想使用 xml 中定义的组件时使用它。

当您在 xml 中定义 textview 或任何组件时,会在 r.java 中为其定义一个整数哈希码。

因此,当您想将其用作文本视图时,您必须将其转换为 textview。

希望有帮助!!

于 2012-08-16T04:42:37.810 回答