안드로이드 개발 질문/답변
(글 수 45,052)
가상 키보드(virtual softkeyboard) 프로그램을 만들고 있던 중에 해결이 안 되는 부분이 있어서 질문 드립니다.
가상키보드에서 텍스트 뷰의 이벤트를 받지 못하는 문제를 해결하고 싶습니다.
지금 저는 가상 키보드 소스에서,
public class SoftKeyboard extends InputMethodService
implements KeyboardView.OnKeyboardActionListener{
implements KeyboardView.OnKeyboardActionListener{
}
와 같이 InputMethodService를 상속 받아 작업하고 있습니다.
그리고 소스내에서 다음과 같이 가상 키보드 리스너를 등록하여, 가상 키보드의 키 이벤트는 정상적으로 받았습니다.
public View onCreateInputView() {
mInputView = (LatinKeyboardView) getLayoutInflater().inflate(
R.layout.input, null);
mInputView.setService(this);
mInputView.setOnKeyboardActionListener(this);
mInputView = (LatinKeyboardView) getLayoutInflater().inflate(
R.layout.input, null);
mInputView.setService(this);
mInputView.setOnKeyboardActionListener(this);
~~~
return mInputView;
}
하지만, 저는 '글자를 넣고 있던 텍스트뷰(가상 키보드를 호출한 TextView)의 터치 이벤트 또는 커서 이벤트'를 제가 만들고 있는 가상 키보드 프로그램에서도 받고 싶습니다.
위의 가상 키보드의 키 이벤트를 mInputView.setOnKeyboardActionListener(this);와 같이 이벤트 핸들러를 등록해서 받은 것처럼, 글자를 넣고 있던 텍스트뷰의 이벤트를 가상 키보드에서 받을 수 있는 이벤트 핸들러를 가상 키보드 프로그램에서 등록하고 싶습니다. 해결 방법이 있는지 알고 싶습니다.
꼭 알려 주시기를 바랍니다.
읽어 주셔서 감사 드립니다.