سلام وقت بخیر
یک ادیت تکست بدین صورت داخل لایوت داریم :
<EditText android:id="@+id/txt_phoneNumber"
android:layout_below="@+id/img_logo"
android:layout_marginTop="80dp"
android:layout_marginEnd="20dp"
android:layout_marginStart="20dp"
android:hint="شماره تماس خود را وارد کنید..."
android:inputType="number"
android:theme="@style/EditText_style_1"
android:drawableStart="@drawable/icon_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
با این استایل :
<style name="EditText_style_1" parent="@android:style/Widget.EditText">
<item name="android:textColor">#000000</item>
<item name="colorControlActivated">#eb1700</item>
<item name="colorControlNormal">#2c4989</item>
<item name="android:textColorHint">#CCCCCC</item>
</style>
برای اینکه بیام محتویات این ادیت تکست رو چک کنم اومدم اینطورنوشتم :
public boolean validate(String phoneNumber ) { boolean valid = true;
if (phoneNumber.isEmpty() || phoneNumber.length() < 11 || ! phoneNumber.startsWith("09") ) {
txt_phoneNumber.setError(getString(R.string.error_ phoneNumber));
txt_phoneNumber.setFocusable(true);
valid = false;
} else {
txt_phoneNumber.setError(null);
}
return valid;
}
حالا همانطور که در تصویر زیر میبینید متاسفانه پیغام خطا به درستی نمایش نمیده :
اما وقتی میام اون استایلی که بهش دادم رو پاک میکنم به درستی همانند تصویر زیر نمایش داده میشه.
به نظرتون مشکل از کجاست؟
در اینجا هم همین موضوع قبلا مطرح شده بود اما راه حلی وجود نداشت:
https://stackoverflow.com/questions/...king-correctly