Edittext首字母不是自动大写

时间:2016-08-01 12:17:31

标签: android android-layout android-edittext capitalization

您好我的编辑文字遇到了问题。

编辑文本的xml粘贴在下面:

 <EditText
                android:id="@+id/edttxt_description_taskdescription"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="@dimen/padding_large"
                android:layout_marginTop="@dimen/margin_.5x"
                android:background="@color/white"
                android:lines="2"
                android:gravity="top"
                android:hint="@string/activity_task_description_name_hint"
                android:imeOptions="actionDone"
                android:singleLine="false"
                android:inputType="textMultiLine|textCapSentences"
                android:maxLength="85"
                android:textSize="@dimen/text_16pixels" />

问题:我想自动大写EditText的第一个字母,但它没有发生。请帮忙!

注意:我想要一个多行的EditText。

3 个答案:

答案 0 :(得分:2)

您应该将inputType textCapSentences更改为textCapWords。

<EditText
            android:id="@+id/edttxt_description_taskdescription"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginLeft="@dimen/padding_large"
            android:layout_marginTop="@dimen/margin_.5x"
            android:background="@color/white"
            android:lines="2"
            android:gravity="top"
            android:hint="@string/activity_task_description_name_hint"
            android:imeOptions="actionDone"
            android:singleLine="false"
            android:inputType="textMultiLine|textCapWords"
            android:maxLength="85"
            android:textSize="@dimen/text_16pixels" />

答案 1 :(得分:0)

您可以在活动中使用此代码制作大写句子。在每个句子中,第一个单词字母大写,新句子表示点(。)和空格。

for example:
 i/p---> hi hello. hi hello    
  o/p---> Hi hello. Hi Hello

使用此代码

 EditText assignmentName=(EditText) findViewById(R.id.assignmentNameId);
     String sassignmentName = assignmentName.getText().toString();
     char[] assignment=sassignmentName.toCharArray();
                char[] assignment1=new char[assignment.length];
                int  count=0;
                for(int i=0;i<=assignment.length-1;i++)
                {
                    if(i==0 && Character.isLowerCase(assignment[i]) ) {
                        char first = assignment[i];
                        char first1 = Character.toUpperCase(first);
                        assignment1[count] = first1;
                        count++;
                    }else if(Character.isWhitespace(assignment[i-1]) &&  assignment[i-2]=='.'  && Character.isLowerCase(assignment[i]))
                    {
                        char first = assignment[i];
                        char first1 = Character.toUpperCase(first);
                        assignment1[count] = first1;
                        count++;
                    }
                    else {
                        assignment1[count]=assignment[i];
                        count++;
                    }
                }
                String UpperCaseassignmentName=String.valueOf(assignment1);

答案 2 :(得分:-2)

android:inputType="textCapSentences"