بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تشخیص تک تک کاراکتر تایپ شده در EditText
استاد میخوام وقتی یه EditText به تعداد مشخصی کاراکتر رسید یا یه کاراکتر خاصی توش وارد شد (مثل نقطه) رنگ یه باتن عوض شه یا قابلیت کلیکش فعال بشه.این کد رو نوشتم ولی جواب نداد.
Button btnTest = (Button) findViewById(R.id.btnTest);
EditText edtTest = (EditText) findViewById(R.id.edtTest);
int input = edtTest.getText().toString().length();
edtTest.setTextColor(Color.parseColor("#85ca17"));
btnTest.setTextColor(Color.parseColor("#85ca17"));
btnTest.setClickable(false);
if (input >= 5) {
btnTest.setTextColor(Color.BLACK);
}
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
uncocoder
12 سال پیش
+3
0
یک مورد مهم این هست که کدهای شما بصورت خطی اجرا می شوند. توجه داشته باشید که برای Click کردن روی یک View ما از SetOnClickListener استفاده کردیم که به نحوی پس از کلیک محتویات درون متد OnClick آن اجرا می شود. اما در کد شما یکبار اول کار، طول نوشته تست می شود و دیگر با تغییر مقدار داخل edtTest اتفاق جدیدی مثل OnClickListener صورت نمی گیرد. برای اینکار شما می توانید از نمونه کد زیر استفاده کنید:
edtTest.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .