相关疑难解决方法(0)

在键入时将"编辑"文本中的每个单词大写

我想在打字时将编辑文本中的每个单词标题化.

我的XML: -

<com.project.edittext.AutoFitEditText
                android:id="@+id/txt_name"
                style="@style/scan_text_fields_white_bg"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:digits="@string/validation_accept_all_except_special_char"
                android:fontFamily="sans-serif"
                android:imeOptions="flagNoExtractUi|actionDone"
                android:inputType="textNoSuggestions|textCapWords"
                android:maxLength="50"
                android:paddingBottom="3dp"
                android:paddingLeft="12dp"
                android:paddingRight="0dp"
                android:paddingTop="0dp"
                android:singleLine="true"
                android:textColor="@color/orange"
                />
Run Code Online (Sandbox Code Playgroud)

现在我正在使用

mName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
Run Code Online (Sandbox Code Playgroud)

但问题是它在某些设备中不起作用.前LG平板电脑.所以我决定以编程方式执行此操作.

所以我使用以下代码.

public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub                   
                String mNameStr=s.toString();
                String finalStr="";
                if(!mNameStr.equals("")) {
                    String[] strArray = mNameStr.split("[\\s']");
                    if (strArray.length > 0) {
                        for (int i = 0; i < strArray.length; i++) {
                            finalStr+=capitalize(strArray[i]);
                        }
                        Logger.d("finalStr==> ", finalStr);
                    }
                }
                mName.setText(finalStr.toString());
            }



private String capitalize(final String …
Run Code Online (Sandbox Code Playgroud)

java android android-edittext

5
推荐指数
1
解决办法
744
查看次数

标签 统计

android ×1

android-edittext ×1

java ×1