2012-06-21 10 views
4

내 응용 프로그램에서 사용자가 버튼을 클릭 할 때 숫자 키패드를 표시하려고합니다. 버튼이 클릭되면 안드로이드 디스플레이 버튼 숫자 키패드 클릭

, 난 .. I 사용자가 숫자를 입력 할 수 있도록 키패드를 표시해야 requestFocus를() 및 다음을 사용하여 내 레이아웃에서의 EditText에

값을 초점을 이동 따라서 항상 숫자 키패드 만 표시해야합니다.

내 버튼의 onClick() 메소드 내부에서이 기능을 사용하지만 피곤합니다. 작동하지 않습니다.

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 

이 문제에 대한 해결책을 제공해주십시오.

또한 내 응용 프로그램은 4.0.3을 지원하는 Android 태블릿 용입니다.

답변

6

당신의 글고에서이 일

android:inputType="phone" (This will displayed phone numeric keypad) 

또는

이제
android:inputType="number" (This will displayed numeric keypad) 

, 당신은 단지 버튼의 클릭에 당신의 EditText에 포커스를 설정해야 재산 ..

like,

edtNumber = (EditText) findViewById(R.id.number); 

// Button's onClick.... 
@Override 
public void onClick(DialogInterface dialog, int which) 
    { 
    edtNumber.requestFocus(); 
    } 
+0

키패드가 alphaNumeric이라는 문제가있는 경우에만 작동합니다. editText는 입력을 숫자로만 표시하지만 잘못된 것으로 보입니다. 거기에 "탭", "(", ")"등등과 같은 것들이 필요 없다는 키패드에는 다른 것들이 있습니다.이 모든 것을 제거하고 숫자 만 표시하는 방법이 있습니까? – Swayam

+0

android : digits = "1234567890"이라고 쓰면 숫자 만 허용되며 다른 문자는 입력 할 수 없습니다. – user370305

+0

가상 키보드에 표시된 버튼을 어떻게 제어합니까? – Swayam

6

아래의 EditText에 입력하십시오.

android:inputType="number" 
+0

태블릿에서는 작동하지 않습니다. 기본적으로 숫자 만 허용하지만 비 숫자는 사용할 수 없지만 표시된 키패드는 영숫자입니다. – Gunhan