ورود

View Full Version : راهنمایی برای پاک کردن یک TextView



sina4everafter
پنج شنبه 25 اردیبهشت 1393, 18:57 عصر
سلام دوستان.ببخشید که من زیاد سوال می پرسم.من یه برنامه ای و تازه شروع کردم و باید کمتر از یک ماه دیگه تمومش کنم.برای همین سوال زیاد می پرسم.
ممنون میشم اگه راهنماییم کنید.
من یه برنامه ای نوشتم که سن کاربر و درخواست میکنه.وقتی که کاربر روی دکمه کلیک می کنه، برنامه محاسبه می کنه که آیا سن کاربر بزرگتر یا مساوی 19 هست یا نه؟اگر این شرط برقرار نباشه، در زیره همون EditText یی که سن و در یافت می کنه، یک متنی و نشون بده که شما اطلاعات و درست وارد نکردین.
تا اینجای کار و من درست پیش رفتم، ولی مشکلم اینه که وقتی کاربر سنشو درست وارد می کنه و بعد روی دکمه محاسبه کلیک می کنه، دیگه اون متن (TextView) پاک نمیشه.من کدم و اینطور نوشتم:

case R.id.btn_Calculate:
//---Test EditText Is Empty Or Not---
boolean str1 = TextUtils.isEmpty(eText_Current_Year.getText().toS tring());
boolean str2 = TextUtils.isEmpty(eText_Born_Year.getText().toStri ng());//---End---
//---Notification---
if (str1 == true || str2 == true) {
Toast.makeText(getApplicationContext(), "Please fill in all fields", Toast.LENGTH_LONG).show();
//---if...else for error---
if (str1 == true || str2 == true) {
eText_Current_Year.setText("");
eText_Born_Year.setText("");
txtView_Error_Age.setText("Your Age ??");
if (str1 == false && str2 ==false) {
txtView_Error_Age.setText("");
}
}


اگر به بعد از اینکه شرط چک میکنه که آیا اون EditTex ها مقداری دارن یا نه، که اگر مقداری نداشته باشن یه پیغامی چاپ می کنه، بعدش یه شرط دیگه گذاشتم که اگه EditTex ها مقدار داشتن، اون TextView رو پاک کنه.ولی این اتفاق نمی افته.این شرط و هرجایی که فکرم رسید و گذاشتم و نوشتم، ولی پاک نمی کنه.
اگر من و راهنمایی کنید ممنون میشم.

saeed_g21
پنج شنبه 25 اردیبهشت 1393, 19:15 عصر
در if اول که شرط گذاشتی حه خطا بده موقع خالی بودن در همون else بگیر اونجا پاکش کن

if (str1 == true || str2 == true) { Toast.makeText(getApplicationContext(), "Please fill in all fields", Toast.LENGTH_LONG).show();
}else{
txtView_Error_Age.setText("");
}




از طرفی چرا اینهمه if داخل هم زدی

میتونی به صورت زیر هم استفاده کنی


if(){}else if(){} else if(){}
or
if(){}else if(){} else if(){}else{}

sina4everafter
جمعه 26 اردیبهشت 1393, 10:58 صبح
سلام.ببخشید من دوباره سوال دارم.
من دقیقا همون کاری که ما گفتین و انجام دادم، و فقط اولین شرط if اجرا میشه.اگه به کدی که گذاشتم نگاه کنید متوجه میشین.


@Override
public void onClick(View whichButton) {
//---switch---
switch (whichButton.getId()) {
//---case btn_Calculate---
case R.id.btn_Calculate:

//---Check EditText Is Empty Or Not---
boolean str1 = TextUtils.isEmpty(eText_Current_Year.getText().toS tring());
boolean str2 = TextUtils.isEmpty(eText_Born_Year.getText().toStri ng());
boolean str3 = TextUtils.isEmpty(eText_Height.getText().toString( ));
boolean str4 = TextUtils.isEmpty(eText_Weight.getText().toString( ));//---End---

//---if...else---
if (str1 == true || str2 == true || str3 == true || str4 == true) {
Toast.makeText(getApplicationContext(), "Please fill in all fields", Toast.LENGTH_SHORT).show();
//---Notification---
if(str1 == true || str2 == true){
eText_Current_Year.setText("");
eText_Born_Year.setText("");
txtView_Error_Age.setText("Your Age ??");
}else{
txtView_Error_Age.setText("");
}

if(str3 == true){
txtView_Error_Height.setText("\nYour Height ??");
}else{
txtView_Error_Height.setText("");
}

if(str4 == true){
txtView_Error_Weight.setText("\nYour Weight ??");
}else{
txtView_Error_Weight.setText("");
}//---End of notification---
}
else{
//---Casting---
int eText_Current_YearToInteger = Integer.parseInt(eText_Current_Year.getText().toSt ring());
int eText_Born_YearToInteger = Integer.parseInt(eText_Born_Year.getText().toStrin g());
int eText_HeightToInteger = Integer.parseInt(eText_Height.getText().toString() );
int eText_WeightToInteger = Integer.parseInt(eText_Weight.getText().toString() );//---End---
}//---End of if...else---

sina4everafter
شنبه 27 اردیبهشت 1393, 19:24 عصر
سلام.ببخشید من دوباره سوال دارم.
من دقیقا همون کاری که ما گفتین و انجام دادم، و فقط اولین شرط if اجرا میشه.اگه به کدی که گذاشتم نگاه کنید متوجه میشین.

@Overridepublic void onClick(View whichButton) {
//---switch---
switch (whichButton.getId()) {
//---case btn_Calculate---
case R.id.btn_Calculate:

//---Check EditText Is Empty Or Not---
boolean str1 = TextUtils.isEmpty(eText_Current_Year.getText().toS tring());
boolean str2 = TextUtils.isEmpty(eText_Born_Year.getText().toStri ng());
boolean str3 = TextUtils.isEmpty(eText_Height.getText().toString( ));
boolean str4 = TextUtils.isEmpty(eText_Weight.getText().toString( ));//---End---

//---if...else---
if (str1 == true || str2 == true || str3 == true || str4 == true) {
Toast.makeText(getApplicationContext(), "Please fill in all fields", Toast.LENGTH_SHORT).show();
//---Notification---
if(str1 == true || str2 == true){
eText_Current_Year.setText("");
eText_Born_Year.setText("");
txtView_Error_Age.setText("Your Age ??");
}else{
txtView_Error_Age.setText("");
}

if(str3 == true){
txtView_Error_Height.setText("\nYour Height ??");
}else{
txtView_Error_Height.setText("");
}

if(str4 == true){
txtView_Error_Weight.setText("\nYour Weight ??");
}else{
txtView_Error_Weight.setText("");
}//---End of notification---
}
else{
//---Casting---
int eText_Current_YearToInteger = Integer.parseInt(eText_Current_Year.getText().toSt ring());
int eText_Born_YearToInteger = Integer.parseInt(eText_Born_Year.getText().toStrin g());
int eText_HeightToInteger = Integer.parseInt(eText_Height.getText().toString() );
int eText_WeightToInteger = Integer.parseInt(eText_Weight.getText().toString() );//---End---
}//---End of if...else---