안드로이드 개발 질문/답변
(글 수 45,052)
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.text.exEditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="top"
/>
</AbsoluteLayout>
===================================================
EditText 상속받은 클래스
package com.text;
public class exEditText extends EditText {}
===================================================
A클래스
public class main extends Activity {}
===================================================
B클래스
public class test extends Activity {
private exEditText m_editText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_editText = (exEditText )findViewById(R.id.editText);
}
}
A클래스에서 B클래스를 Intent를 통해 호출하고 B클래스에서 EditText 상속 받은 exEditText 클래스를 불러와서 소프트키보드를 띄우고, 소프트키보드가 뜬 상태에서 뒤로가기를 터치시 finish() 를 줘서 키보드가 사라짐과 동시에 A클래스로 돌아갈려고 합니다.
여기서 문제는
클래스 " <com.text.exEditText /> " 이런식의 클래스 xml 뷰를 생성할 경우
exEditText 클래서에서 extends 통해 Layout를 상속받아야 된다고 알고있는데요.
레이어 상속을 받지 않고 할 경우
xml 에러 문구
error: Error parsing XML: unbound prefix
exEditText 클래스가 EditText 상속받고 클래스 xml 뷰를 생성할려면 어떻게 해야하는지요 ?




exEditText 클래스를 layout xml에서 com.text.exEditText 처럼 사용을 하시려면
아래와 같은 생성자가 필요합니다.
public exEditText (Context a_context, AttributeSet a_attributeSet) {
super(a_context, a_attributeSet);
}