2011-11-10 2 views
6

신용 카드 번호를 사용할 수있는 입력란을 고안하려고합니다.신용 카드의 올바른 입력 유형

나는 inputType = "number"를 사용하고 있었지만 하드웨어 키보드를 가진 사람들이 스페이스 바를 누르지 못하게했을 때 활동의 다른 필드로 점프합니다.

사용자가 원하는 경우 숫자에 공백을 사용하거나 하드웨어 키보드를 사용하는 사용자가 공백을 쳤을 때 숫자를 허용 할 수 있도록하고 싶습니다. 신용 카드 번호는 EditText로 두십시오.

이상적으로는 인터페이스를 구현하고 사용자 정의 inputType을 가질 수 있지만 가능하지는 않습니다.

  • 소프트 키보드의 숫자를 표시하면서 숫자와 공백을 허용 할 수 있습니까?
+0

경우 : 글고 치기에 대해서는 imeOptions이 = "flagNoEnterAction을"하지만 여전히 - 하드웨어 키보드 스페이스 바를 치면 때, 그것은 점프 무작위로 보이는 EditText는 액티비티 레이아웃을 한층 낮 춥니 다. –

+0

[ "하드 키를 차단하려면 InputMethodService.onKeyDown()"] (http://developer.android.com/resources/articles/creating-input-method.html)을 대체하십시오. 아래쪽 제목 "하드 키 이벤트 인터셉트"에서 읽습니다. 도움이 될까요? – Graeme

+0

가로 채기 방법을 찾을 수 없으면 일반 TextView를 사용하여 숫자 키보드를 수동으로여십시오. [이러한 리소스] (http://developer.android.com/resources/browser.html?tag=input)는 InputMethod에서 작업 할 때 정말 도움이되었습니다. – Graeme

답변

1

내가 여기 당신을위한 확실한 대답을 가지고 있지만하지 않는 내가 집어 일부 리소스는 다음과 같습니다

난에 "캐치"하드 키 입력이 단서를 발견 : "To intercept hard keys, override InputMethodService.onKeyDown()". 아래쪽 제목 "하드 키 이벤트 인터셉트"에서 읽습니다.

당신은 차단하고 "공간"키를 처리 할 수있는 방법을 찾을 수없는 경우에, 나는 일반적으로 Input Reference에 대한 추가 정보를 원하시면 여기로 이동 (일반 텍스트 뷰를 사용하여 수동으로 쿼티 하나가 아닌 숫자 키보드를 열어 제안). 그런 다음 하드 키보드에서 누른 키의 유효성을 검사 할 수 있습니다.

죄송합니다. 답변을 드릴 수 없습니다.

+0

이 경우 내가해야 할 일이라고 생각합니다. 그러나 스페이스 바 만 커서를 다른 필드로 건너 뛰기 때문에 이상합니다. 다른 허용되지 않는 문자는 아무 것도하지 않고 "숫자"필드를 선택하지 않습니다. –

2

레이아웃 xml 파일에 android:inputType="phone"은 어때요?

+0

나는 또한 이것에 관한 통찰력에 관심이있다. 이것은 더 큰 숫자를 가진 키보드를 보여주는 것이 훨씬 더 나아 보인다. –

4

최선의 choise 내가 "번호"를 떠나 안드로이드 추가하려고했습니다 InputType.TYPE_CLASS_DATETIME

+0

이것은 hacky이지만 그것은 나를 위해 일했다. – marchinram