【问题标题】:LinearLayout cannot be cast to a class I've createdLinearLayout 无法转换为我创建的类
【发布时间】: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。

标签: java android android-layout android-linearlayout


【解决方案1】:

错误消息中准确说明了问题:您的布局包含LinearLayout,并且您尝试将其强制转换为您自己的类。你不能那样做。相反,您需要将 xml 更改为:

<dismo.ufrj.br.bradmobile.HeaderClass
    ....
    ....
    .... >

  ....

</dismo.ufrj.br.bradmobile.HeaderClass>

继承在这里并不重要,但是由于您的 HeaderClass 扩展了 LinearLayout,您可以在代码中将上述 xml 转换为 LinearLayout

【讨论】:

  • 你有一个额外的/
  • @MikeM.,我确实做到了。固定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多