理解GridView的Java语法gridview =(GridView)findViewById(R.id.gridview);

时间:2012-01-15 22:28:30

标签: java android

在Android教程中,确切地说是GridView tutorial,有一行代码

GridView gridview = (GridView) findViewById(R.id.gridview);

这看起来是声明/实例化名为gridview的GridView对象并从...分配 (GridView)

现在是parens中的(GridView),findViewById的预期返回类型,或者它告诉在哪里找到findViewById,因为它似乎没有连接到一个对象(尽管它似乎是GridView对象的成员函数)??

我相信findViewById会返回一个GridView类型的对象,该对象由gridview的资源ID(我们在main.xml中指定)指定,现在可能在我们之前称为setContentView(R.layout.main); <之后存在/ p>

那么,使用语法的(GridView)部分指定什么以及括号具体含义是什么?

1 个答案:

答案 0 :(得分:5)

findViewById返回View,这是所有Android UI的抽象基类。 GridView继承自最终从View继承的其他视图。因此findViewById将获取您传递的ID,并将关联的视图作为View返回。 (GridView)View投射到GridView,允许您使用GridView类的其他功能。

如果您尝试将结果转换为ClassCastExceptionGridView个超类之外的其他内容,则会收到GridView