Casting Buttons,TextViews,editText等

时间:2012-08-16 04:36:01

标签: android view

例如,

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

为什么我们这样做?我们什么时候该做?

2 个答案:

答案 0 :(得分:2)

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

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

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

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

setOnClickListener()

答案 1 :(得分:0)

当您想要使用xml中定义的组件时,可以使用它。

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

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

希望有所帮助!!