سلام به همه.
دوستان،من میخوام که مثلا فلان کاراکتر وارد جعبه متنم نشه،چی کار کنم.
من این شرط رو میذارم،اما ج نمیده:
کد:
if(txtX.gettext().toString()==".")
{
xxxxxxxxxx
}
از خاصیت digit هم نمیخوام استفاده کنم.
چون استفاده کردم.
ممنون.
سلام اول متن رو به کارکتر آرایه ای تبدیل کن بعدش تک تک کاراکتر هارو بررسی کن که فلان مقدار نباشه
کد پیاچپی:
String str = txtX.gettext().toString();
char[] charArray = str.toCharArray();
با یه حلقه فور هم بررسی کن که آیا برابر هست یا نه
کد پیاچپی:
for (int i =0 ; i<charArray.length ; i++)
if(charArray[i] == "0")
// some code
سلام
دو راه دیگه هم دارید
یکی استفاده از InputFilterها و دیگری استفاده از خصوصیت Digits مربوط به خود EditText هستش
استفاده از Inputfilter
کد:
نحوه تعریف
private String blockCharacterSet = "~#^|$%&*!";
private InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source != null && blockCharacterSet.contains(("" + source))) {
return "";
}
return null;
}
};
کد:
نحوه استفاده
editText = (EditText) findViewById(R.id.editText);
editText.setFilters(new InputFilter[] { filter });
استفاده از خاصیت Digits مربوط به EditText
کد:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/et1"
android:digits="0,1,2,3,4,5,6,7,8,9,qwertyuiopasdfghjklzxcvbnm"
android:inputType="text"/>
نکته :
در روش اول اون کاراکترهایی که نمیخوای وارد EditText بشن رو میزاری فیلتر بشه
در روش دوم برعکس روش اول اون کاراکترهایی که میخوای وارد EditText بشن رو میزاری توی قسمت Digits