Skip to main content

How to set a maximum length for an EditText in Kotlin Android

How to set a maximum length for an EditText in Kotlin Android.

Here is a detailed step-by-step tutorial on how to set a maximum length for an EditText in Kotlin Android:

Step 1: Create a new Android project​

Create a new Android project in Android Studio or open an existing project.

Step 2: Add an EditText to the layout XML file​

In the layout XML file (usually activity_main.xml), add an EditText element. Set an id for the EditText so that it can be referenced in the Kotlin code.

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="Enter text"/>

Step 3: Reference the EditText in the Kotlin code​

In the Kotlin code file (usually MainActivity.kt), create a reference to the EditText by using the findViewById() method.

val editText = findViewById<EditText>(R.id.editText)

Step 4: Set a TextWatcher on the EditText​

To monitor changes in the text entered in the EditText, set a TextWatcher using the addTextChangedListener() method. The TextWatcher can be used to limit the length of the text.

editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
// This method is called before the text is changed
}

override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
// This method is called when the text is changed
val maxLength = 10 // Change this to the desired maximum length
if (s?.length ?: 0 > maxLength) {
val trimmedText = s?.subSequence(0, maxLength)
editText.setText(trimmedText)
editText.setSelection(maxLength)
}
}

override fun afterTextChanged(s: Editable?) {
// This method is called after the text is changed
}
})

Step 5: Adjust the maximum length as needed​

In the onTextChanged() method of the TextWatcher, adjust the value of maxLength to the desired maximum length for the EditText. In the example above, it is set to 10 characters.

Step 6: Test the app​

Run the app on an emulator or a physical device. Enter text in the EditText field and observe that the text is automatically trimmed to the maximum length specified.

That's it! You have successfully set a maximum length for an EditText in Kotlin Android. You can now use this as a reference in your own Android projects.