مشکل در تغییر Button
سلام دوستان
من یک لیست ثبت نام دارم که پایینش یک button قرار گرفته
وقتی روی button کلیک میکنم چک میکنه که آیا همه ی EditText ها پر شدند یا نه
اگه پر شده بودن که به جاش یه ImageView سبز رنگ نمایش میده
ولی اگه پرنشده بودند ImageView قرمز رنگ نمایش داده میشه
الان مشکل من اینجاست که میخوام زمانی که ImageView قرمز نشون داده شد و کاربر ورودی هاش رو درست کرد وقتی روی button کلیک میکنه دوباره رنگ سبز ست بشه ولی نمیدونم چه تغییری توی الگوریتمم باید بدم
سلام
میتونی داینامیک تر کار کنی . یعنی نیاز نباشه که کاربر روی دکمه کلیک کنه و بعد imageView قرمز یا سبز نمایش داده بشه . میشه به محض اینکه ورودی ها تغییر کرد ( هر کدوم ) ، به صورت خودکار عکس سبز یا قرمز بشه .
به این صورت که اول تمام ورودی ها رو در یک آرایه از نوع EditText بریز ، و بعد یک TextWatcher تعریف کنی و متد onTextChanged رو به صورت زیر Override کنی :
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
for (int i = 0; i < edt_Inputs.size(); i++) {
if (edt_Inputs.get(i).getText().toString().length() == 0) {
// نمایش تصویر قرمز رنگ
return;
}
// نمایش تصویر سبز رنگ
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
در آخر هم برای تمام عناصر این آرایه ( edt_Inputs ) ، TextChangedListener تعریف کنی و textWatcher بالا رو به عنوان پارامتر بهش بدی :
for (EditText edt: edt_Inputs) {
edt.addTextChangedListener(textWatcher);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .