Twitterライクな入力文字数カウント表示の実装
Androidアプリで、Twitterライクに入力文字数のカウント表示をしたい時の実装メモです。
入力文字数のカウント表示&指定文字数オーバー時に文字色を赤くする
以下のコードで、テキスト入力文字数のカウント表示と、指定文字数オーバー時に文字色を赤くすることができます。
1 | private EditText editText; |
2 | private TextView textCount; |
3 | editText = ((EditText)findViewById(R.id.editText)); |
4 | textCount = ((TextView)findViewById(R.id.textCount)); |
6 | editText.addTextChangedListener( new TextWatcher(){ |
8 | public void onTextChanged(CharSequence s, int start, int before, int count){ |
9 | int textColor = Color.GRAY; |
12 | int txtLength = s.length(); |
13 | textCount.setText(Integer.toString(txtLength) + "/30" ); |
16 | if (txtLength > 30 ) { |
17 | textColor = Color.RED; |
19 | textCount.setTextColor(textColor); |
22 | public void afterTextChanged(Editable s) { |
25 | public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
onTextChangedでテキスト入力時のイベントを取得し、入力文字数を表示しています。
実装イメージ
実装イメージは以下のような感じになります。
EditTextの脇に入力文字数カウンターを表示。
テキスト入力するとリアルタイムに入力文字数がカウント表示されます。
指定文字数をオーバーすると文字色が赤くなります。
¥249
(2025/04/23 18:51:56時点 Amazon調べ-詳細)
コメント