بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
کنترل خالی نبودن تعداد زیادیEditText و....
گاهی در کلاس های مختلف تعداد زیادی EditText ,.... داریم و می خواهیم حتما توسط کاربر پر شوند ، و یا TextView داریم که با لمس آن اطلاعاتی انتخاب و در TextView ثبت می شود . من برای کنترل آنها از این روش استفاده کردم
یک فانشن که وردیش آریه ای از textView ها یا EditText ها است چون از جنس View هست می شه موارد دیگری را هم اضافه کرد
public static boolean checkField(ArrayList<View> editTextArray) {
boolean isTrue = true;
String value = "";
for (int i = 0; i < editTextArray.size(); i++) {
View view = editTextArray.get(i);
if (view instanceof TextView) {//آیا عنصر موجوود در آرایه textView هست
TextView textView = (TextView) view;
value = textView.getText().toString().replace(G.context.getString(R.string.select), "").trim();// مقدار پیش فرض مثلا کلمه انتخاب کنید را حذف و بعد سایز آن را بررسی می کنم
} else {
EditText editText = (EditText) view;
value = editText.getText().toString().replace(G.context.getString(R.string.select), "").trim();
}
if (value != null) {
if (value.length() < 1) {
isTrue = false;
break;
} else {
isTrue = true;
}
} else {
isTrue = false;
break;
}
}
if (!isTrue) {
Toast.makeText(G.context, "Plase fill required field's", Toast.LENGTH_SHORT).show();// اینجا فقط پیام دادم میشه انیمیشن و.... هم اضافه کرد
}
return isTrue;
}
برای استفاده هم به این شکل
مثلا با کلیک روی دکمه فیلدهای خالی را کنترل می کنیم
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<View> arrayList = new ArrayList<View>();//آرایه ای از view
arrayList.add(edtA);//add an EditText to Array
arrayList.add(txtA);//add a TextView to Array
if (checkField(arrayList)) {//calling function with array if is'nt null
String strA= edtA.getText().toString();//getText
String strA= txtA.getText().toString();
}
});
dd
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .