#ایکس‌استک

#با ایکس‌استک همیشه از سایرین پیشتاز باشید

آیا شما سوال در این‌باره دارید می توانید ثبت نام کنید اینجا.

فیلتر کردن EditText

عنوان محتوا
عنوان فیلتر کردن EditText
عنوان E-Book
زبان پارسی
مولف
توضیحات
[فیلتر کردن EditText]

سلام خدمت دوستان گرامی. با یک آموزش و یک تجربه دیگر در خدمت شما هستیم. شاید برای شما پیش آمده است که نیاز دارید تایپ کردن کاربر را مدیریت کنید و برای ادیت تکست یک ورودی به خصوصی تعیین کنید. فرض کنید شما یک ادیت تکست دارید که میخواهید کاربر تنها بتواند اعداد و حروف انگلیسی را همراه با علامت _ بنویسد و آن را مثلا به عنوان username یا هرچیز دیگری محسوب کنید. و اما نمونه کد برای این قضایا: این کد را در پایین class قرار بدید

private InputFilter filter = (source, start, end, dest, dstart, dend) -> {
    Pattern p = Pattern.compile("[a-zA-Z0-9_]+");
    Matcher m = p.matcher(source.toString());
    if (!m.matches()) return "";
    return null;

};

	و اما کد بالا یعنی چی؟
	ما اینجا از ریجکس استفاده کردیم تا بتونیم یک فیلتر تمیزی رو داشته باشیم
	a-z شامل az و  هرچه میان آن دو هست  ( از a تا z )  ، می شود و باقی  فیلتر ها هم به همین صورت  هست ( A-Z برای حروف بزرگ  و بعد از آن برای اعداد و بعد از آن برای_ )
	
	و در اخر تیکه کد زیر را در هرجایی که به edittext دسترسی داریم  میتوانیم استفاده کنیم :
	
 et_changeInfo.setFilters(new InputFilter[] { filter });
 
 همچنین یه تیکه کد اضافه برای شما قرار میدهم ، اگر می خواهید از فیلتر بالا برای پسورد استفاده کنید  ممکنه تیکه کد زیر هم نیازتون باشه : کمک می کنه تا تایپ کاربر  حالت پسورد بگیره و کارکتر ها از دید پنهان بشه:)
 
 et_changeInfo.setTransformationMethod(PasswordTransformationMethod.getInstance());
 
 می توانید هر دو کد رو در کنار هم داشته باشید هر کدام کار جداگانه ای انجام میدهند و مشکلی پیش نمی آید .
 
 پایان.

امیدوارم این تجربه کوچیک ، براتون موثر واقع شده باشه. موفق و سلامت و پیروز باشید . System.out.print( " یا علی " )

نمایش: 44
زمان انتشار
1 ماه پیش
2021-01-15 22:09:55
برچسب ها
دانلود
عملیات

لطفا برای ارسال دیدگاه وارد شوید یا ثبت نام کنید

منشتر کننده:
Milad Milad