LinearLayout 无法转换为我创建的类
Posted
技术标签:
【中文标题】LinearLayout 无法转换为我创建的类【英文标题】:LinearLayout cannot be cast to a class I've created 【发布时间】:2014-11-30 23:39:49 【问题描述】:我的异常:原因:java.lang.ClassCastException: android.widget.LinearLayout 不能转换为 dismo.ufrj.br.bradmobile.HeaderClass
我创建了一个扩展 LinearLayout 的类 HeaderClass。但我似乎无法以正确的方式投射它。(标题是线性布局)
这是代码
headerClass = (HeaderClass) findViewById(R.id.header);
【问题讨论】:
贴出全部相关代码 您需要在布局中指定您的自定义 View 类,而不是 LinearLayout。 【参考方案1】:错误消息中准确说明了问题:您的布局包含LinearLayout
,并且您尝试将其强制转换为您自己的类。你不能那样做。相反,您需要将 xml 更改为:
<dismo.ufrj.br.bradmobile.HeaderClass
....
....
.... >
....
</dismo.ufrj.br.bradmobile.HeaderClass>
继承在这里并不重要,但是由于您的 HeaderClass
扩展了 LinearLayout
,您可以在代码中将上述 xml 转换为 LinearLayout
。
【讨论】:
你有一个额外的/
。
@MikeM.,我确实做到了。固定。以上是关于LinearLayout 无法转换为我创建的类的主要内容,如果未能解决你的问题,请参考以下文章
LinearLayout.setBackgroundColor(int)在Android中不起作用
environment.getArgument 无法在 graphql-java 中转换为我自己的 java 对象
android.widget.LinearLayout 无法转换为 android.widget.TextView
错误:android.widget.LinearLayout 无法转换为 android.widget.ImageView
android.support.v4.app.FragmentTabHost 无法转换为 android.widget.LinearLayout