نمایش پیغام خالی بودن ادیت تکست در داخل خود کنترل
سلام وقت بخیر
یک ادیت تکست بدین صورت داخل لایوت داریم :
<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
نقل قول: نمایش پیغام خالی بودن ادیت تکست در داخل خود کنترل
برای حل مشکل اومدم
بجای دستور زیر
android:theme="@style/EditText_style_1"
از دستور زیر استفاده کردم
style="@style/EditText_style_1"
در این حالت با موفقیت مشکلی که داشتم حل شد :لبخندساده:اما متاسفانه بعضی از رنگ هایی که داخل این استایل بود اصلا لحاظ نمیشد! من جمله textColorHint که مجبورشدم داخل خود لایوت تعریف کنم.