2014-06-09 35 views
0

我有一個EditText視圖:我必須重寫`onEditorAction`還是「action_done」具有默認行爲?

<EditText 
     android:id="@+id/commentEditText" 
     android:layout_width="180dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:ems="10" 
     android:imeOptions="actionDone" 
     android:inputType="textMultiLine" /> 

我想禁用「enter」鍵,當用戶插入輸入。

相反,我想要鍵盤有一個「完成」鍵,將關閉softkeyboard。

確實加android:imeOptions="actionDone"還不夠嗎?

「輸入」鍵仍在我的Nexus 4上,沒有done鍵。

是否必須覆蓋onEditorAction還是「action_done」具有默認行爲?

感謝,

回答

1

試試這個..

添加android:singleLine="true"EditText

+0

其實你提出一個好點。我知道幾個鍵盤採用多行來表示「總是顯示一個換行鍵,不管其他什麼」。這可能會奏效。 –

+0

@GabeSechan是的。謝謝。 – Hariharan

0

本身決定如何處理IME選項做的鍵盤。您的鍵盤可能已決定不顯示ime選項字符串。我不責怪他們 - 做了這件事,改變了輸入鍵,這是一個痛苦的屁股,許多用戶抱怨它。有沒有辦法把它強制,這取決於特定鍵盤上已經決定將其在代碼中。

+0

確定,所以不顯示「完成」串,但爲什麼它仍然像「輸入新行」並不關閉我的軟鍵? –

+0

他們可能沒有對它做任何形式的動態效果。鍵盤必須主動決定調用動作函數,而不是發送\ n鍵擊,這不是兩者之間的android魔術翻譯。從我在Swype的時間開始,大約有50%的用戶恨它,只是希望它永遠是換行。所以無論您使用哪種鍵盤,都可能決定不故意這樣做。 –

+0

基本上你所說的任何東西都是一個請求。它可能會也可能不會遵守它。它的確如此,但不要指望它。 –

相關問題