안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
샘플에 있는 키보드를 수정해보려고 하는 왕초보입니다.
먼저 샘플에 있는 LatinKeyboardView 가 KeyboardView 를 상속받아 구현되어있는데요...
저는 KeyboardView 를 상속받지 않고,,, MyKeyboardView 라는 것을 keyboardView 와 동일하게 구현해서,
LatinKeyboardView 를
public class LatinKeyboardView extends MyKeyboardView {
...
}
와 같이 구현하려고 합니다.
이렇게 구현한후 InputMethodService를 상속받은 main 클래스의 아래 onCreateInputView 함수에서 아래 inflate 하는 부분에서 죽는것 같습니다.
@Override public View onCreateInputView() {
Log.d("problem","onCreateInputView");
mInputView = (LatinKeyboardView) getLayoutInflater().inflate(
R.layout.input, null);
Log.d("problem","mInputView : "+mInputView);
mInputView.setOnKeyboardActionListener(this);
mInputView.setKeyboard(mQwertyKeyboard);
return mInputView;
}
참고로 input.xml 파일은 다음과 같습니다.
<org.test.app.Mykeyboard.LatinKeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Mykeyboard"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
무엇이 문제인지요???
샘플에 있는 키보드를 수정해보려고 하는 왕초보입니다.
먼저 샘플에 있는 LatinKeyboardView 가 KeyboardView 를 상속받아 구현되어있는데요...
저는 KeyboardView 를 상속받지 않고,,, MyKeyboardView 라는 것을 keyboardView 와 동일하게 구현해서,
LatinKeyboardView 를
public class LatinKeyboardView extends MyKeyboardView {
...
}
와 같이 구현하려고 합니다.
이렇게 구현한후 InputMethodService를 상속받은 main 클래스의 아래 onCreateInputView 함수에서 아래 inflate 하는 부분에서 죽는것 같습니다.
@Override public View onCreateInputView() {
Log.d("problem","onCreateInputView");
mInputView = (LatinKeyboardView) getLayoutInflater().inflate(
R.layout.input, null);
Log.d("problem","mInputView : "+mInputView);
mInputView.setOnKeyboardActionListener(this);
mInputView.setKeyboard(mQwertyKeyboard);
return mInputView;
}
참고로 input.xml 파일은 다음과 같습니다.
<org.test.app.Mykeyboard.LatinKeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Mykeyboard"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
무엇이 문제인지요???