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

ضروری کردن ادیت تکس_حل شد

nasiri  10 سال پیش  10 سال پیش
0 0

سلام خسته نباشید

اول کاری بگم آماتورم فعلا اگه سوال ساده ای دارم می پرسم به پای آماتوری بذارید :D

من دو تا کادر ادیت تکس ایجاد کردم ، برای مثال می خوام a * b رو طرف وارد کنه و خروجی رو نشون بدم، با وارد کردن عدد a و b ضرب به خوبی انجام میشه و جواب رو می گیرم ولی وقتی به کادر عدد وارد نمیشه برنامه ارور میده و می ندازه بیرون

چطور می تونم کاری کنم وقتی کاربر کادر رو خالی گذاشت و پر نکردن دکمه محاسبه انجام نشه و بگه که فلان کادر رو پر نکردی؟

پیشاپیش ممنون از راهنمایی هاتون

 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
nooriDeveloper  10 سال پیش
+2 0

فرض کنیم که آیدی EditText رو edtNumber نامگذاری کردی (ضمناٌ از قسمت properties  باید برای تکست ادیت مربوطه خاصیت

Input Type رو برابر number قرار بدی تا از وارد نمودن کارکتر غیر عددی جلوگیری بشه)

 if (edtNumber.getText().toString().trim().equals("")) {
    Toast.makeText(this, "لطفا عددی صحیح وارد نمایید ", Toast.LENGTH_SHORT).show();
}else{
	    //انجام تابع ضرب
}
0 0
ممنون از راهنمایی، edtNumber.trim().equals("") تریم اینجا چیه؟ چون بهش خطا میده! (10 سال پیش)
0 0
پاسخ اصلاح شد (10 سال پیش)
0 0
trim() چیکار میکنه؟ (10 سال پیش)
پاسخ به سوال 
RoOTmAn  10 سال پیش
+1 0

این راهم میشه:

فرض کنیم آی دی EditText ها یکیشون edtUser و اون یکی edtAge باشه

اول از همه اینکه اگه میخای فقط عدد وارد شه همون جوری که گفته شد input Type رو بذار روی number

حالا برای اینکه btn فقط زمانی کار کنه که هر دوی EditText ها پر شده باشن و با خالی بودن EditText ها کرش نکنه،یکی از راه هاش اینه:

 


if (edtUser.getText().length() != 0 & edtAge.getText().length() != 0) {       // دستورات   }   else {   Toast.makeText(this, "Plz Enter inputs", Toast.LENGTH_LONG).show();
  }


پاسخ به سوال 
nasiri  10 سال پیش
0 0

ممنون از راهنمایی دوستان، من کد زیر رو وارد کردم:

وقتی تو کادر های A و B هیچی وارد نکردم و GO رو می زنم پیغام مورد نظرم رو نشون میده

ولی وقتی فقط به کادر A یا B فقط عدد وارد می کنم و GO رو می زنم از برنامه میندازه بیرون، چطور اون مشکل رو هم حل کنم؟ ممنون میشم راهنمایی کنید.

 

 

         final TextView txtCaption = (TextView) findViewById(R.id.txtCaption);
        final EditText edtA = (EditText) findViewById(R.id.edtA);
        final EditText edtB = (EditText) findViewById(R.id.edtB);
        Button btnInput = (Button) findViewById(R.id.btnInput);

        btnInput.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                if (edtA.getText().toString().trim().equals("") & edtB.getText().toString().trim().equals("")) {
                    Toast.makeText(QaflantiActivity.this, "لطفا عددی صحیح وارد نمایید ", Toast.LENGTH_SHORT).show();
                } else {
                    float floatvalueA = Float.parseFloat(edtA.getText().toString());
                    float floatvalueB = Float.parseFloat(edtB.getText().toString());
                    float d = floatvalueA * floatvalueB;
                    txtCaption.setText("X=" + d);
                }

            }
        });
 
0 0
البته اشتباه بزرگ شما در استفاده از عملگر بیتی بجای عملگر منطقی هستش، توجه کنید که اولا & با && تفاوت زیادی داره، ضمنا باید از or منطقی یعنی " || " استفاده می کردید. ( ادیت تکست اول خالی باشد || ادیت تکست دوم خالی باشد ) (10 سال پیش)
پاسخ به سوال 
Ghost  10 سال پیش
+1 0

سلام .

ببین این راه آسون تر و منطقی تر هست :

final TextView txtCaption = (TextView) findViewById(R.id.txt_Javab);
final EditText edtA = (EditText) findViewById(R.id.edt_One);
final EditText edtB = (EditText) findViewById(R.id.edt_Two);
Button btnInput = (Button) findViewById(R.id.btn);

btnInput.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
try {
int A = Integer.parseInt(edtA.getText().toString());
int B = Integer.parseInt(edtB.getText().toString());
txtCaption.setTe xt("" + One + Two);
}
catch (Exception e) {
Toast.makeText(MpthActivity.this, "لطفا تمام فیلد ها را کامل کنید", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});

تست کن

پاسخ به سوال 
nasiri  10 سال پیش
0 0

بسیار ممنون حل شد


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