2011-01-23 8 views
1

나는 언어 학습 앱을 쓰고 있는데, 현재는 독일어 < -> 러시아어 만 쓰고 있습니다.EditText에서 IME로 정보 전송

EditTexts 사용자가 하나 또는 다른 언어로 텍스트를 입력해야하는 경우가 여러 개 있습니다. 이 언어는 다른 알파벳을 사용하기 때문에 앱은 InputMethodService을 구현하고 라틴어 및 키릴 자모 키보드 레이아웃을 제공하여 자체 소프트 키보드를 사용합니다. 언어가 예상되는 각 EditText 필드에 대해 알려져 있습니다.

내가 원했던 것은 예를 들어 EditText 러시아어 입력란에 포커스가있을 때마다 키릴 문자 자판 배열이 표시되어야한다는 것입니다. 선택하면 EditText은 IME에 상수를 전달해야하며 IME는 라틴어 또는 키릴 문자 모드로 표시할지 여부를 결정하는 데 사용할 수 있습니다.

이상적으로는 EditText에 대해 맞춤 설정을 지정하는 것이 가장 이상적 일 수 있습니다. 올바른 접근 방법은 무엇입니까?

답변

1

아이디어가 좋지 않습니다. InputType이 일치하지 않으면 스위치 블록에있는 InputType에 대한 IME의 코드 검사와 기본 키보드 레이아웃이 표시됩니다.

로직을 입력하여 Activity의 메소드에서 어떤 입력 메소드가 활성화되어 있고 해당 정보가 EditText에 있어야하는지 선택할 수 있습니다.

+0

흠, 고마워요. 즉, 표준 InputType 리터럴을 의도 된 용도에서 돌리고 싶지 않았기 때문에 사용자 정의 InputType을 정의하고 사용하는 방법을 알지 못했습니다. EditText에서 IME 로의 통신은 분명하지 않았습니다. 이제는 작동하는 privateImeOption을 사용하고 있지만 특히 나에게는 아름답 지 않습니다. – ferdystschenko

관련 문제