java - 如何将我的自定义 View 添加到 xml 中的布局?

标签 java android

有如下xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.ulnda.calendarapplication.MyCalendarView
        android:id="@+id/calendarView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

我的日历 View :

public class MyCalendarView extends CalendarView {

    public MyCalendarView(Context context) {
        super(context);
    }

    @Override
    public void setOnClickListener(OnClickListener listener) {
//      View v;
//      v.setOn

    }

    @Override
    public boolean performClick() {
        Log.e("event", "perform_click");
        return true;
    }
}

一切都很好,但是当我尝试执行此应用程序时,我会收到以下消息:

10-19 12:59:30.037: E/AndroidRuntime(30968): FATAL EXCEPTION: main
10-19 12:59:30.037: E/AndroidRuntime(30968): android.view.InflateException: Binary XML file line #7: Error inflating class com.ulnda.calendarapplication.MyCalendarView

我该如何解决?

最佳答案

也尝试添加这些构造函数

public MyCalendarView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public MyCalendarView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

关于java - 如何将我的自定义 View 添加到 xml 中的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12970776/

相关文章:

Eclipse - 没有 Java (JRE)/(JDK) ...没有虚拟机

java - 常规Exp : Matcher: how to get last occurence in the group

android - 检查androids Assets 文件夹中的文件是否存在?

android - 是否可以在 Android 中使用 .mlmodel,并使用 Playground (Xcode) 进行训练?

android - 从 Java 调用 ioctl() - 它是如何完成的?

java - ASM 5 : when initializing a ClassWriter, COMPUTE_MAXS 和 COMPUTE_FRAMES 有什么区别?

java - Java 中的静态变量启动器

java - 如何使用另一个数组列表提供的索引比较数组列表中的元素

java - 从通知中恢复 Activity

java - ClassName.class.getResourceAsStream 返回 Null