آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اجرای دوباره یک کد یا یک کلاس

alireza  11 سال پیش  11 سال پیش
0 0

سلام

دوستان من یه برنامه نوشتم که میاد محتوای یه کلاس رو اجرا می کنه مثلا یه لیست ویو رو براساس یک سری اطلاعات می سازه خب ولی در حین اجرای برنامه یه شرط رو تغییر می دم و می خوام با تغییر این شرایط مجددا برنامه اون کلاس رو بخونه و اجرا کنه دقیق تر بخوام بگم 

من یه لیست ویو دارم که اگه محتوای یک edittext  خالی باشه یه سری اطلاعات روش ریخته میشه اگه توش نوشته بشه مثلا 1 یک سری اطلاعات دیگه ریخته می شه توی لیست ویو خب من این شرط رو گذاشتم ولی وقتی برنامه اجرا میشه خب edittext خالی هست پس محتوای اول نمایش داده میشه حالا وقتی مقدار edittext  تغییر میکنه دیگه این کلاس یه بار دیگه اجرا نمیشه که اون شرط چک بشه چه راهکاری هست برای همچین کاری کلا بخوام انجام بدم به چه صورت باید عمل کنم ؟ 

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
فرشاد خدامرادی  11 سال پیش
0 0

دوست عزیز می تونید از روش زیر استفاده کنید:

 	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) {
			}
		});
پاسخ به سوال 
فرشاد خدامرادی  11 سال پیش
0 0

که مثلا برای ساخت یک فیلد سرچ در دیتابیس می تونید به این ترتیب استفاده کنید:

 	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) {
			}
		});

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .