我有一小段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
我是否在执行方面做错了什么?或者我的问题可能在其他地方?
答案 0 :(得分:1)
问题可能是您的自定义DashboardView
类构造函数没有调用正确的super constructor
视图。当您在XML
中引用自定义视图时,类构造函数应该传递AttributeSet
以及此类上下文。
public class DashboardView extends View {
public DashboardView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
此外,请确保XML中的自定义类包名称正确