Android查看Inflate异常?

时间:2014-04-27 04:17:18

标签: android xml

我有一小段xml代码可以按如下方式扩展视图:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:elektromotus="http://schemas.android.com/apk/res/eu.elektromotus"
android:id="@+id/FrameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<eu.elektromotus.widget.DashboardView
    android:id="@+id/dashboardView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:background="@drawable/dashboard_back"/>

<ImageButton
    android:id="@+id/error_notifier"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/notifier_bg"
    android:contentDescription="@string/msg_error_notifier"
    android:src="@drawable/ic_stat_alert"
    android:visibility="invisible" />
</merge>

当我运行我的应用程序时,我的日志中出现以下错误:

android.view.inflateException: Binary XML line #8: Error inflating class eu.elektromotus.widget.DashBoardView

我是否在执行方面做错了什么?或者我的问题可能在其他地方?

1 个答案:

答案 0 :(得分:1)

问题可能是您的自定义DashboardView类构造函数没有调用正确的super constructor视图。当您在XML中引用自定义视图时,类构造函数应该传递AttributeSet以及此类上下文。

public class DashboardView extends View {
  public DashboardView(Context context, AttributeSet attrs) {
      super(context, attrs);
    }
 }

此外,请确保XML中的自定义类包名称正确