2012-06-21 60 views
4

在我的應用程序中,我嘗試在用戶單擊按鈕時顯示數字小鍵盤。Android顯示屏上的數字小鍵盤點擊

當點擊該按鈕時,我使用requestFocus()方法和接下來的焦點轉移到的EditText在我的佈局我需要顯示數字小鍵盤,使得用戶可以在值鍵入..

的值將始終是數字,因此我只需要顯示數字鍵盤。

我厭倦了在按鈕的onClick()方法中使用它,但它不起作用。

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

請給我提供任何解決方案。

另外,我的應用程序是針對支持4.0.3的Android平板電腦。

回答

6

這一個你的EditText財產

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

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

現在,你只將焦點設置在按鈕的點擊您的EditText ..

例如,

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

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

它只適用於鍵盤爲alphaNumeric的問題。 editText僅將輸入視爲數字,但看起來很糟糕。另外,鍵盤上還有其他一些我不需要的東西,像「tab」,「(」,「)」等..等等。有什麼辦法可以刪除所有這些,只顯示數字? – Swayam

+0

如果您編寫android:digits =「1234567890」,則只允許輸入數字,您不能輸入其他字符。 – user370305

+0

如何控制虛擬鍵盤上顯示的按鈕? – Swayam

6

在EditText放在下面一行。

android:inputType="number" 
+0

它不適用於平板電腦。基本上它只允許數字顯示,但顯示的鍵盤是字母數字,即使非數字被禁用。 – Gunhan