升级到姜饼后无法更改软键盘进入"完成"按钮

jas*_*son 4 keyboard android android-2.3-gingerbread

非常简单: inputField.setImeOptions(EditorInfo.IME_ACTION_DONE); 用于使我的软键盘显示"完成"键而不是carraige返回.

由于我将手机(三星Galaxy S)更新为姜饼,这行代码无效.

有任何想法吗?

Sci*_*ear 9

我也看到了这个问题,我相信它会在你没有设置时发生inputType.实际上,imeOptions如果inputType设置为EditorInfo.TYPE_NULL(默认值),则会完全忽略所有属性(以及其他一些属性).

所以给其中一个镜头(我选择next但你可以放任何类型):

XML:

    android:inputType="text"
    android:imeOptions="actionNext"
Run Code Online (Sandbox Code Playgroud)

JAVA

    text.setInputType(EditorInfo.TYPE_CLASS_TEXT);
    text.setImeOptions(EditorInfo.IME_ACTION_NEXT);
Run Code Online (Sandbox Code Playgroud)

如果你真的想要坚持下去,你可以使用setImeActionLabel('Add', SOME_ID)并完全配置动作键(还有xml equivalentes).

话虽如此.我可能完全错了你的个人设备,但我认为这很容易测试,似乎总能解决我的问题,所以我应该分享.


Kic*_*aha 5

我一直在研究同样的问题.您设备上的IME(输入法编辑器)出现故障,并且不会在软键盘或下一个按钮中显示完成按钮.HTC sense有自己的软键盘,无法识别ime指令.还有其他人,你的三星显然是一个.这是我第一次长时间进入android碎片.

我尝试在XML中设置它,膨胀,创建一个辅助类,以及一堆其他东西.我松了一口气,发现它根本行不通.

所以现在我们必须添加一个完成按钮,而不是键盘编辑器完成输入.我将它添加到我的编辑文本的末尾,使用相对布局来对齐它们.我会留下具有该功能的IME代码....这是唯一的快速解决方案,另一种是为您的应用编写完整的自定义软键盘.