Android EditText(“文本框”):用户键入时自动大写每个单词的第一个字母

前端之家收集整理的这篇文章主要介绍了Android EditText(“文本框”):用户键入时自动大写每个单词的第一个字母前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这个问题已经问了很多次,但是我的答案中没有答案.

我在以下链接中发现了一些相同的问题和答案,这对我来说根本不起作用.

LINK1

LINK2

在我的布局文件中,我已经定义了我的EditText,如下所示.

<EditText
    android:id="@+id/test_editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="90dp"
    android:inputType="textCapWords"
    android:ems="10" >

另外在onCreate方法的Activity类中,我添加了以下代码.

EditText testEditText = (EditText) findViewById(R.id.test_editText);
    testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);

如果有人经历了同样的问题,并且解决了,我想听听我在案中做错了什么.谢谢.

编辑…

按照上面的说明步骤,我无法使其完成(自动大写每个单词的第一个字母,而用户输入).

根据我的代码,当用户输入时,它会以小写字母显示所有单词(包括第一个单词)中的第一个字符.

解决方法

android:inputType="textCapWords"

为我工作

我在使用相同的xml代码时遇到的问题:

<EditText
    android:id="@+id/test_editText"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="90dp"
    android:ems="10"
    android:inputType="textCapWords" >

只需检查您是否覆盖了Activity中的inputType属性.

只要尝试不改变任何内容的活动.

原文链接:https://www.f2er.com/android/311743.html

猜你在找的Android相关文章