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