私はちょっと個人的なToDoリストアプリを開発しています。これまでのところすべてがうまくいきました。私が把握したいと思う1つの小さな奇抜がある。私が新しい項目を追加するたびに、EditTextビューが内部に表示されたダイアログが表示されます。 EditTextビューを選択すると、キーボードが表示され、テキストを入力する必要があります。ほとんどのアプリケーションでは、シフトキーが最初の文字のために保持されているように見えますが、これは私の見解ではありません。簡単な修正方法が必要ですが、繰り返し参照を検索して見つけられません。私は、アダプタによって読み込まれた参照のxml属性がなければならないと思っていますが、それは何かを見つけることができません。EditTextの最初の文字大文字
答えて
静的(レイアウトXMLファイル内):EditText
にandroid:inputType="textCapSentences"
を設定します。
プログラマチック:InputType
のEditText
にInputType.TYPE_CLASS_TEXT
を含める必要があります。
EditText editor = new EditText(this);
editor.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
は、すべての文の最初の文字の大文字小文字を要求するために、テキストとそのバリエーションと組み合わせることができます。
ちょうどあなたのEditText要素にandroid:inputType="textCapWords"
を使用しています。例えば
:
3210参考のために、以下のリンクを参照してください:お使いのデバイスのキーボードオートが有効に設定大文字場合 http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType
コードを太字にする代わりに、コードにマークを付けることをお勧めします。 –
この回答はOPの質問にはあまり役立ちません。これにより、入力テキストの最初の文字(文と見なされます)ではなく、各** word **の最初の文字が大文字になります。これはおそらく他の人に役立つかもしれませんが、正解は受け入れられた答えです。 –
編集テキストフィールドを1行にする解決策 – Shivang
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
またはandroid:inputType="textCapSentences"
のみ動作します。
編集テキストフィールドを1行にする解決策 – Shivang
同じ問題が発生しました。私が見つけたものを共有しました。あなたと他の人を助けるかもしれません...
あなたのレイアウトでこれを試してください。EditText
の下の行を追加してください。
android:inputType="textCapWords|textCapSentences"
私に正常に動作します..それはあなたにも作品を願って...
このコードを試してみてください、それはすべての単語の最初の文字を大文字にします。
- edt_text.addTextChangedListener(ウォッチャ)のEditTextビューの
をaddTextChangedListenerを設定します。
- TextWatcher
TextWatcher watcher = new TextWatcher() {
int mStart = 0;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mStart = start + count;
}
@Override
public void afterTextChanged(Editable s) {
String input = s.toString();
String capitalizedText;
if (input.length() < 1)
capitalizedText = input;
else if (input.length() > 1 && input.contains(" ")) {
String fstr = input.substring(0, input.lastIndexOf(" ") + 1);
if (fstr.length() == input.length()) {
capitalizedText = fstr;
} else {
String sstr = input.substring(input.lastIndexOf(" ") + 1);
sstr = sstr.substring(0, 1).toUpperCase() + sstr.substring(1);
capitalizedText = fstr + sstr;
}
} else
capitalizedText = input.substring(0, 1).toUpperCase() + input.substring(1);
if (!capitalizedText.equals(edt_text.getText().toString())) {
edt_text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
edt_text.setSelection(mStart);
edt_text.removeTextChangedListener(this);
}
});
edt_text.setText(capitalizedText);
}
}
};
はXMLであなたのEditTextに次の行を適用します。
android:inputType="textCapSentences|textMultiLine"
また、複数行のサポートを可能にします。
以前はandroid:capitalize="words"
でしたが、現在は廃止予定です。推奨される代替方法が使用されますandroid:inputType="textCapWords"
これは、デバイスキーボードの自動大文字の設定が有効な場合にのみ有効です。 、プログラム的にこれを行うには、次の方法を使用するには
:XMLでXMLならびにこのようなJAVAファイルに
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
セット入力タイプを、
、
android:inputType = "textMultiLine | textCapSentences"
また、
edittext.setRawInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
を複数行とJAVAファイルにできるようになりますが、キーボードの自動大文字設定ががを有効になっていることを確認してください。
- 1. 大文字最初の文字
- 2. 文字列の最初の文字の大文字/小文字の決定
- 3. 最初の文字を大文字のテンプレートの中に大文字にする
- 4. 文章の最初の文字を大文字にするCSS
- 5. 最初の列の大文字小文字は、bashでのみ
- 6. Linux Renameコマンドの大文字の最初の文字
- 7. 最初の文字を大文字にします。 MySQL
- 8. XSL - 最初の文字を大文字にするには
- 9. 正規表現 - 最初の文字を大文字とスペース
- 10. 大文字に変換する最初の文字
- 11. 最初の文字を大文字にする
- 12. Regexp - 最初の文字から&文字
- 13. EditTextの文字大文字をプログラムで設定する
- 14. 文字列の最後の文字を大文字にする
- 15. 各単語の最初の文字、または文字列全体の最初の文字をC#で大文字にする方法は?
- 16. Javaの単語の最初の文字を大文字に変更します
- 17. 文字列の最初の文字がswitch文で大文字であることを確認します
- 18. TextViewの最初の文字
- 19. Laravel Bladeの最初の文字を大文字にする方法
- 20. Gitはファイル名の最初の文字を大文字にします
- 21. 行の最初の文字をメモ帳で大文字にするには++
- 22. varchar(最大)の文字数
- 23. UUIDの最大文字長
- 24. 剣道UIエディタの最大文字数と最小文字数
- 25. Pythonを使用して文字列の最初の大文字でない文字を見つける方法
- 26. は、文字列の最初の文字を削除し、私はこの文字列の最初の文字を取得する必要があり、文字列
- 27. 大文字の大文字文字列を検出する
- 28. Android:文字列の最初の文字を小文字に変換する
- 29. 文字列の最初のカップルの文字を比較
- 30. 文字列の最初の文字の取得と削除
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS); またはandroid:inputType = "textCapSentences"は、デバイスキーボードの自動大文字化設定が有効な場合にのみ機能します。 – Lakshmanan
なぜこれを有効にすると、私の 'android:lines =" 7 "'はもはや7行を表示しなくなります。(デフォルトは1行に戻ります) –
estEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS); orroid:inputType = "textCapSentences"は、デバイスキーボードの自動大文字化設定が有効な場合にのみ機能します。 **これの代わりに、プログラム的には何がありますか?** – Swift