ضروری کردن ادیت تکس_حل شد
سلام خسته نباشید
اول کاری بگم آماتورم فعلا اگه سوال ساده ای دارم می پرسم به پای آماتوری بذارید :D
من دو تا کادر ادیت تکس ایجاد کردم ، برای مثال می خوام a * b رو طرف وارد کنه و خروجی رو نشون بدم، با وارد کردن عدد a و b ضرب به خوبی انجام میشه و جواب رو می گیرم ولی وقتی به کادر عدد وارد نمیشه برنامه ارور میده و می ندازه بیرون
چطور می تونم کاری کنم وقتی کاربر کادر رو خالی گذاشت و پر نکردن دکمه محاسبه انجام نشه و بگه که فلان کادر رو پر نکردی؟
پیشاپیش ممنون از راهنمایی هاتون

فرض کنیم که آیدی EditText رو edtNumber نامگذاری کردی (ضمناٌ از قسمت properties باید برای تکست ادیت مربوطه خاصیت
Input Type رو برابر number قرار بدی تا از وارد نمودن کارکتر غیر عددی جلوگیری بشه)
if (edtNumber.getText().toString().trim().equals("")) { Toast.makeText(this, "لطفا عددی صحیح وارد نمایید ", Toast.LENGTH_SHORT).show(); }else{ //انجام تابع ضرب }

این راهم میشه:
فرض کنیم آی دی 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();
}

ممنون از راهنمایی دوستان، من کد زیر رو وارد کردم:
وقتی تو کادر های 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); } } });

سلام .
ببین این راه آسون تر و منطقی تر هست :
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();
}
}
});
تست کن
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .