EditText 输入类型 textCapSentences 不适用于 Lollipop

EditText input type textCapSentences not working on Lollipop

我已经在我的 xml 代码中实现了 android:inputType="textAutoComplete|textCapSentences"。当我 运行 它在 kitkat 上时,textCapSentence 工作正常但是当构建是 运行 在 Lollipop 上 设备不工作。任何人都知道如何解决它。

添加这两个属性。有效。

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

您在哪些设备和 OS 特定版本上试用。有时制造商会覆盖 OS 级别的“InputMethod”,但它根本不起作用。

您还可以通过从 google 代码中获取 EditText 的源代码并将其编译为您的 EditTextCustom 并查看它是否工作来进行测试。

您好,这是因为在 lollipop 中,如果您在键盘设置中禁用了自动大写,那么您将无法以编程方式启用它。

步骤如下:-

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

这样设置,

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

像这样在 XML 和 JAVA 文件中设置输入类型,

在XML,

android:inputType="textCapSentences"

并在 JAVA 文件中,

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

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