2013-01-14 2 views
2

나는 안드로이드에서 전화 패드와 키패드를 모두 구현하려고합니다. 내 요구 사항에 따라 EditText을 선택하면 기본 전화 패드가 표시되어야합니다. 그러나 사용자는 영문자도 입력 할 수 있어야합니다. 이 방법을 제안 해주세요.안드로이드에있는 전화 패드와 Qwerty 키패드

<EditText 
       android:id="@+id/editTextref1" 
       android:layout_width="210dp" 
       android:layout_height="45dp" 
       android:layout_alignParentRight="true" 
       android:layout_marginTop="10dp" 
       android:ellipsize="start" 
       android:hint="@string/custom1" 
       android:imeOptions="actionNext|actionDone" 
       android:inputType="text" 
       android:nextFocusDown="@+id/editTextref2" 
       android:shadowDy="10" 
       android:textColor="#383838" 
       android:textSize="14sp" 
       android:textStyle="bold" 
       android:maxLength="15" 
       android:typeface="serif" /> 

답변

1

나는 간단하고 우아한 방법으로 그렇게 할 수 없다고 가정하고 싶습니다. 문제는 입력 유형이 InputType.TYPE_CLASS_TEXT이고 문자를 입력해야하기 때문에 InputType.TYPE_CLASS_NUMBER으로 변경할 수 없다는 것입니다.

입력 방식은 입력 유형을 확인하고 필드 입력 유형의 유형에 따라 숫자 또는 알파벳이있는 적절한 키보드를 제공합니다. 숫자 키보드를 사용하는 입력 방법을 요청하고 EditText이 포커스 인 경우 코드에서 입력 방법을 알파벳 키보드로 전환 할 수 없습니다. 나는 틀릴 수도 있지만 이것은 내가 생각하는 것입니다.

질문은 텍스트를 편집하는 동안 다른 키보드를 사용하도록 제 3 자 입력 방법을 요청할 수 있는지 여부입니다. 코드에서이를 수행 할 수 없다고 생각합니다. 입력 방법은 EditText에 따라 숫자 또는 알파벳을 제공하지만 입력 방법이 설계 문제를 인식하지 못하기 때문에 동적으로 전환 할 수 없습니다. 이 작업을 수행 할 수있는 유일한 방법은 숫자 및 알파벳 키보드를 동적으로 전환 할 수있는 고유의 입력 방법을 만드는 것입니다.

관련 문제