2011-04-07 57 views
43

我在使用Android 2.3的EditText時遇到問題。actionDone ime選項在Android 2.3的EditText上不起作用

我有一個EditText定義與android:imeOptions="actionDone"財產,但是當我寫虛擬鍵盤時返回鍵不檢測actionDone,它會引入一個返回線。

在Android 2.2中工作正常。

<EditText android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:imeOptions="actionDone" /> 
+0

值得注意的是,我發現實現TextWatcher有時會對actionDone選項產生奇怪的影響。 – deepwinter 2013-04-25 23:59:09

回答

121

我已解決此問題。我已經添加了android:singleLine="true"屬性,它的工作原理正確。

<EditText android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:imeOptions="actionDone" 
    android:singleLine="true" 
/> 
+4

謝謝你。它適用於 '機器人:imeOptions = 「actionNext」 機器人:nextFocusDown = 「@ + ID/addjob_description」 機器人:單線= 「真」' 爲好。 – Ants 2011-10-18 03:32:25

+4

有誰知道這是爲什麼工作?我不抱怨,雖然:))) – luigi7up 2011-11-15 15:59:55

+0

它確實有點奇怪,你需要添加'android:singleLine =「true」'所以'android:imeOptions =「actionSearch」'有一個效果... – Paul 2012-06-22 07:02:55

8

另一個值得注意的問題是,如果你指定android:digitsandroid:imeOptions不起作用。不知道這是否影響所有的Android版本。

+4

是的,我注意到Android決定用它決定放入它的任何東西來覆蓋imeOptions ......大聲笑爲什麼把它放在了反正的地方。另一個Android煩惱。 – 2014-09-11 05:26:46

0

目前Android Studio中2.2.3如果使用

android:singleLine="true" 

IDE會發出警告,它已被棄用使用的maxlines代替。

android:maxLines="1" 

但是maxLines不能解決問題。 解決方法是隻添加屬性inputType。 示例:

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/actionDoneDemo" 
    android:layout_below="@id/nameET" 
    android:imeOptions="actionDone" 
    android:hint="Action Done Demo" 
    android:inputType="text"/> 
相關問題