有没有办法在Android 2.3上使用多行
EditText
并显示IME Action标签“完成”?在Android 2.2中,这不是问题,回车键显示IME动作标签“完成”(android:imeActionLabel="actionDone"
),并在单击时关闭软输入。但是,在为多行配置EditText
时,Android 2.3删除了显示“完成”操作的能力。我已经通过使用KeyListener
来修改软输入回车键的行为,但回车键仍然看起来像回车键。以下是EditText
的声明:<EditText
android:id="@+id/Comment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="0dp"
android:lines="3"
android:maxLines="3"
android:minLines="3"
android:maxLength="60"
android:scrollHorizontally="false"
android:hint="hint"
android:gravity="top|left"
android:textColor="#888"
android:textSize="14dp"
/>
<!-- android:inputType="text" will kill the multiline on 2.3! -->
<!-- android:imeOptions="actionDone" switches to a "t9" like soft input -->
在将内容视图设置到活动中后,当我检查inputType
的值时,会显示为:
inputType = 0x20001
以下是:
- class =
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_NORMAL
- flags =
InputType.TYPE_TEXT_FLAG_MULTI_LINE
The method onCreateInputConnection(EditorInfo) of type SMSMain must override or implement a supertype method
。您在开头调用了super
,所以不确定问题出在哪里。您有什么建议吗?谢谢。 - AzurespotoutAttrs.imeOptions &= ~EditorInfo.IME_MASK_ACTION; outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE; outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
- mdubez