在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)
部分指定什么以及括号具体含义是什么?
答案 0 :(得分:5)
findViewById
返回View
,这是所有Android UI的抽象基类。 GridView
继承自最终从View
继承的其他视图。因此findViewById
将获取您传递的ID,并将关联的视图作为View
返回。 (GridView)
将View
投射到GridView
,允许您使用GridView
类的其他功能。
如果您尝试将结果转换为ClassCastException
或GridView
个超类之外的其他内容,则会收到GridView
。