EditText textCapSentences不起作用

时间:2016-03-30 05:49:08

标签: android android-edittext

我尝试以大写的第一个字母开头。 使用attr inputType

<EditText
        android:id="@+id/add_user_fname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/margin_size_small"
        android:inputType="textCapSentences|textPersonName"
        android:capitalize="sentences"
        android:layout_toRightOf="@id/user_avatar"
        android:hint="@string/add_user_fname"
        android:maxLength="@integer/name_max_length"
        android:singleLine="true"
        android:textSize="@dimen/text_size_small" />

并在代码中设置

userFnameEditText.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

但没有任何作用。 所有这些都放在DialogFragment中。

更新 我在代码中删除了setInputType,只设置了inputType =&#34; textCapSentences&#34;。它适用于Android 4,但不适用于Samsung Android 5

6 个答案:

答案 0 :(得分:2)

<强>被修改 在你的java文件中试试

TextView txtCapitalize = (TextView) findViewById(R.id.txtCapitalize);
txtCapitalize.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);

答案 1 :(得分:2)

我遇到了同样的问题。但是,我找到了一个可以帮助我的解决方案:确保在键盘设置上检查“自动大写”设置。这适用于Nexus 4.

参考:http://www.ercanbaran.com/textcapsentences-not-working/

答案 2 :(得分:1)

您应该在EditText

中添加此行以填充您的字母
android:inputType="textCapSentences"

我希望这会有所帮助。 THANKYOU

答案 3 :(得分:0)

试试这个:

android:inputType="textCapSentences"   

android:capitalize="sentences"

从xml中删除textPersonName

答案 4 :(得分:0)

如果你同时添加

android:capitalize="sentences" 

android:inputType="text",在这种情况下,它先占用,输入不会被捕获。

android:inputType="textCapSentences"

答案 5 :(得分:0)

通知您start已被弃用,因此,正如其他答案所示,您可以使用

android:capitalize="sentences"

android:inputType="textCapSentences"

两者都有效!但是一个用于android:inputType="textCapWords" ,一个用于sentence