개발을 하다가 한가지 의문이 생겨서 질문합니다.

현재 main.xml 은 다음과 같습니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.DisplayView
android:id="@+id/displayview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    />
</LinearLayout>

액티비티에서 오버라이드된 onCreate 함수에 setContentView(r.layout.main) 를 실행하여 뷰를 만듭니다.
(DisplayView는 View를 상속하여 직접 만든 클래스이며, View의 기본 생성자 3개를 모두 구현해놓았습니다.)
어플 최초 실행시에 동작을 잘합니다.

콘텐츠 설계상 어떤 버튼이 눌러졌을때 강제로 orientation을 가로로 변경하도록 하였는데요
가로로 변경을 할경우 다시 onCreate 함수가 호출되는데 setContentView(r.layout.main)에서 
"android.view.InflateException: Binary XML file Line #7: Error inflating class <unknown>"(Line #7 은 위의 빨간색부분을 의미)
이라는 예외가 발생합니다.


최소 실행시에는 되던것이 onCreate 다시 호출됬을 경우에는 왜 오류가 나죠?