PDA

View Full Version : نمایش پیغام خالی بودن ادیت تکست در داخل خود کنترل



samiasoft
چهارشنبه 17 مهر 1398, 00:46 صبح
سلام وقت بخیر

یک ادیت تکست بدین صورت داخل لایوت داریم :

<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;
}

حالا همانطور که در تصویر زیر میبینید متاسفانه پیغام خطا به درستی نمایش نمیده :
http://s3.picofile.com/file/8374708918/err1.jpg

اما وقتی میام اون استایلی که بهش دادم رو پاک میکنم به درستی همانند تصویر زیر نمایش داده میشه.
http://s5.picofile.com/file/8374708926/errr2.jpg

به نظرتون مشکل از کجاست؟
در اینجا هم همین موضوع قبلا مطرح شده بود اما راه حلی وجود نداشت:
https://stackoverflow.com/questions/35965466/android-6-edittext-seterror-not-working-correctly

samiasoft
جمعه 19 مهر 1398, 23:11 عصر
برای حل مشکل اومدم
بجای دستور زیر
android:theme="@style/EditText_style_1"
از دستور زیر استفاده کردم
style="@style/EditText_style_1"

در این حالت با موفقیت مشکلی که داشتم حل شد :لبخندساده:اما متاسفانه بعضی از رنگ هایی که داخل این استایل بود اصلا لحاظ نمیشد! من جمله textColorHint که مجبورشدم داخل خود لایوت تعریف کنم.