Lollipop系统上,EditText输入类型textCapSentences无法正常工作

14
我在我的 XML 代码中实现了 android:inputType="textAutoComplete|textCapSentences"。当我在 KitKat 上运行它时,textCapSentence 很好地发挥作用,但是当构建在 Lollipop 设备上运行时,它不起作用。有人知道如何解决吗?
5个回答

23

嗨,这是因为在棒棒糖版本中,如果您在键盘设置中禁用了自动大写,那么您就无法通过程序启用它。

以下是步骤:

  • 在您的Android Lollipop设备主屏幕上点击“设置”图标
  • 在“设置”屏幕上,向下滚动到“个人”部分,然后点击“语言和输入”部分。
  • 在“语言和输入”部分,选择您的键盘(标记为当前键盘)。
  • 现在点击“首选项”。
  • 勾选“自动大写”以启用它。
  • 就这样!

6

按照以下方式设置:

EditText input = (EditText).findViewById(R.id.ID);
input.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

2

请在XML和JAVA文件中设置输入类型,如下所示:

在XML中:

android:inputType="textCapSentences"

在JAVA文件中:

edittext.setRawInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

这对我有用,确保你的键盘自动大写设置是启用的。


2

添加这两个属性。它可以工作。

 android:capitalize="sentences"
 android:inputType="textCapSentences"

5
我尝试过了,但它不起作用。另外,大写字母已被弃用。 - cool Boy

0
你是在哪些设备和操作系统特定版本上尝试?有时制造商会在操作系统层面上覆盖“InputMethod”,导致它无法正常工作。
你也可以通过从谷歌代码中获取EditText的源代码并将其编译为你的EditTextCustom来进行测试,看看它是否能正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接