اجرای دوباره یک کد یا یک کلاس
سلام
دوستان من یه برنامه نوشتم که میاد محتوای یه کلاس رو اجرا می کنه مثلا یه لیست ویو رو براساس یک سری اطلاعات می سازه خب ولی در حین اجرای برنامه یه شرط رو تغییر می دم و می خوام با تغییر این شرایط مجددا برنامه اون کلاس رو بخونه و اجرا کنه دقیق تر بخوام بگم
من یه لیست ویو دارم که اگه محتوای یک edittext خالی باشه یه سری اطلاعات روش ریخته میشه اگه توش نوشته بشه مثلا 1 یک سری اطلاعات دیگه ریخته می شه توی لیست ویو خب من این شرط رو گذاشتم ولی وقتی برنامه اجرا میشه خب edittext خالی هست پس محتوای اول نمایش داده میشه حالا وقتی مقدار edittext تغییر میکنه دیگه این کلاس یه بار دیگه اجرا نمیشه که اون شرط چک بشه چه راهکاری هست برای همچین کاری کلا بخوام انجام بدم به چه صورت باید عمل کنم ؟
دوست عزیز می تونید از روش زیر استفاده کنید:
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
adapter.clear();
// TODO Auto-generated method stub
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
}
});
که مثلا برای ساخت یک فیلد سرچ در دیتابیس می تونید به این ترتیب استفاده کنید:
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
adapter.clear();
if (search.getText().length() == 0) {
adapter.clear();
} else {
String input = search.getText().toString();
for (int i = 0; i < list.length; i++) {
if (list[i][0].startsWith(input)) {
StructNote notei = new StructNote();
notei.title =list[i][0];
notei.description =list[i][1];
G.notes.add(notei);
}
}
}
adapter.notifyDataSetChanged();
lstContent.setAdapter(adapter);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .