<com.joe.MyEditText
android:id="@+id/mEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
/>
레이아웃 xml파일은 위와 같고요
소스코드는 아래와 같이...
... 중간 생략 ...
public class MyEditText extends EditText {
public MyEditText (Context context){
super(context);
}
}
이렇게 되어 있는데 xml파일에서 com.joe.MyEditText에서 run time 에러가 발생합니다.
위의 코드가 왜 안될까요?

가끔은 뒤도 돌아보자... 이 만큼 왔구나...!
생성자 1개짜리가 아니라 2개짜리로하셔야됩니다.
public MyEditText (Context context){
super(context);
}이부분 지우시고 Context context, 뒤에 한개더있는걸로 다시선택하세요.
슈퍼클래스 (EditText) 의 생성자를 모두 호출하도록 되어있다면, 오류가 나지않는것이 맞습니다.
위의경우 MyEditText (Context context, AttributeSet attr) {
super(context, attr);
}
만 추가가 되면 에러가 나지않을것 같은데요?^^;
생성자를 3가지 다 해도 역시 동일한 에러가 나네요.
public class MyEditText extends EditText {
public MyEditText (Context context){//생성자1
super(context);
}//생성자1
public MyEditText(Context context, AttributeSet atrs){//생성자2
super(context, atrs);
}//생성자2
public MyEditText(Context context, AttributeSet attrs, int defStyle) {//생성자3
super(context, attrs, defStyle);
} //생성자3
}//MyEditText




에러 내용은
05-08 23:57:57.335: E/AndroidRuntime(4628): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.joe/com.joe.ExCustomEditTextActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class com.joe.MyEditText