По моему опыту, это лучший способ:
EditText yourEditText;
// when you detect an error:
yourEditText.setError("Input must be 4 digits and numeric");
Результат:
![enter image description here](https://i.stack.imgur.com/rMtQr.png)
Кроме того, если ввод должен быть числовым,используйте android:inputType="numberSigned"
в определении EditText
.Таким образом, устройство не позволит пользователю вводить нечисловые значения;еще лучше, для этого будет показана специальная клавиатура:
![enter image description here](https://i.stack.imgur.com/KjBTo.png)