2013-03-27 23 views
3

我有一個EditText,它的輸入字母和不同的符號,但不是數字。此外,我已將EditText設置爲setOnKeyListener以按Enter鍵關閉虛擬鍵盤。觀察並發現它沒有采取數字輸入由於下面的代碼Editext由於setOnKeyListener沒有采取數字輸入

規範設置虛擬鍵盤隱藏按enter

durOnTreadmill.setOnKeyListener(new OnKeyListener() { 
    public boolean onKey(View v, int keyCode, KeyEvent event) 
    { 
     if (keyCode == KeyEvent.KEYCODE_ENTER) 
     { 
       InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(durOnTreadmill.getWindowToken(), 0); 
     } 
     return true; 
    } 

}); 

我的EditText在XML

<EditText 
     android:id="@+id/durOnTreadmill" 
     android:layout_width="129dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="32dp" 
     android:inputType="text" 
     android:hint="hh:mm:ss" /> 

我在哪裏後我錯了?

+0

如果您正在處理輸入,則只應從'onKey'返回'true'。也就是說,將'return true'移到你的if塊中,否則返回false。 – Tushar 2013-03-27 21:52:33

+0

像手榴彈一樣工作;)感謝兄弟 – user2179825 2013-03-28 00:24:45

回答

2

複製我的評論在這裏:

,如果你是你應該只從安其返回true HANDL輸入。 也就是說,在if區塊內移動返回true,否則返回false 。

+0

真正說一下以前的評論。再次感謝人 – user2179825 2013-03-28 00:41:46

1
android:imeOptions="actionDone" 

你當用戶點擊進入 和你說,它不會只是數字已輸入設置爲「文本」

走這條線出來的EditText XML將dissmiss鍵盤:

android:inputType="text" 
+1

對不起,遲到的回覆,我已經嘗試了inputType方法。小鍵盤按預期隱藏,但EditText仍然不允許數字輸入:)。圖沙的評論爲我工作。感謝您的建議。 :) – user2179825 2013-03-28 00:23:53

+0

沒問題,很高興你得到它的工作,我甚至從來沒有使用onKeyListener編輯文本即時通訊仍然學習自己 – JRowan 2013-03-28 00:30:36

+0

學習沒有年齡的傢伙,很高興我的帖子對你有所幫助:) – user2179825 2013-03-28 00:42:53