私はちょっと個人的な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. Edittextの最初の文字は自動大文字ではありません
- 3. 文字列の最初の文字の大文字/小文字の決定
- 4. 最初の文字を大文字のテンプレートの中に大文字にする
- 5. 文章の最初の文字を大文字にするCSS
- 6. 最初の列の大文字小文字は、bashでのみ
- 7. 大文字の最初の文字のhtml5正規表現
- 8. Linux Renameコマンドの大文字の最初の文字
- 9. Pythonの文字列の最初の文字のみを大文字にする
- 10. 都市名の最初の文字を大文字にする
- 11. リストの最初の文字を大文字にする
- 12. 大文字の最初の文字Oracle SQL
- 13. 最初の2文字が大文字のコントローラとサービス
- 14. 文字列の最初の文字をxsltの大文字に変換する
- 15. C#正規表現の最初の文字大文字残りの小文字
- 16. JavaScriptの文字列の最初の文字を大文字に変更
- 17. 文字列内の3文字の単語の最初と最後の文字を大文字にする
- 18. Pythonで文字列の最初の文字を大文字に変更する
- 19. 大文字に変換する最初の文字
- 20. 最初の文字を大文字にする正規表現
- 21. 最初の文字を大文字にします。 MySQL
- 22. XSL - 最初の文字を大文字にするには
- 23. 正規表現 - 最初の文字を大文字とスペース
- 24. 最初の文字を大文字にする
- 25. アンドロイドのTextViewの最初の文字を大文字にして拡大
- 26. Regexp - 最初の文字から&文字
- 27. 最初の文字は小文字
- 28. EditTextの文字大文字をプログラムで設定する
- 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