我正在使用Google的HeaderGridView在gridview上添加标题。
但是当我想从xml中获取gridView时,发生了意外的转换
HeaderGridView gridView;
gridView = (HeaderGridView) findViewById(R.id.gridView);
我知道R.id.gridView是GridView而不是HeaderGridView,但是HeaderGridView类扩展了GridView,所以它应该不能工作吗?
最佳答案
您不能将不是GridView
的HeaderGridView
强制转换为HeaderGridView
记住这一点的一种方法是:从哪里获得有关如何“成为” HeaderGridView
的信息?
您只能自由地转换继承层次结构,而向下则需要使用instanceof
进行类型检查。因此,您可以从HeaderGridView
强制转换为GridView
,但是为了安全地进行其他选择,您应该检查类型,否则可能会得到ClassCastException