AndroidStudioでEditTextを使い、入力した文字をTextWatcher文字数を表示させるアプリを作っています。
質問内容は、今のコードだとスペースも文字としてカウントされるのでスペースを含みたくないのと、文字は1行の書ききれる限度まで来ると自動的に改行をしてくれるのですが、スペースだとで1行の限度まで進んでも改行をせずに文字数だけカウントされるのでこの2点を直したいと思っています。
助言がありましたらお願いします。
コード public class MainActivity extends AppCompatActivity { private EditText editText; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ((TextView) findViewById(R.id.edit_text)).setMovementMethod(new ScrollingMovementMethod()); editText = findViewById(R.id.edit_text); textView = findViewById(R.id.text_view); editText.addTextChangedListener(new TextWatcher(){ @Override public void onTextChanged(CharSequence s, int start, int before, int count){ // 入力文字数の表示 int txtLength = s.length(); textView.setText(Integer.toString(txtLength)+"文字" ); } @Override public void afterTextChanged(Editable s) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } }); } }
XML <TextView android:id="@+id/text_view" android:text="0文字" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:textSize="30sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.15" /> <EditText android:id="@+id/edit_text" android:layout_width="371dp" android:layout_height="256dp" android:autofillHints="@string/hint" android:background="#ffffff" android:gravity="top|left" android:hint="@string/hint" android:inputType="textMultiLine" android:scrollbars="vertical" android:textAllCaps="false" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.734" />
回答2件
あなたの回答
tips
プレビュー