PDA

View Full Version : اعلام اشتباه تایپ کردن به کاربر در وارد کردن اعداد



amint70
یک شنبه 06 دی 1394, 21:03 عصر
سلام دوستان یه برنامه نوشتم که کاربر باید چنتا عدد تو چنتا string بنویسه و بعدش اون عددهارو به double تبدیل میکنم مشکل اینجاس که وقتی طرف اشتباه تایپی داشته باشه برنامه بسته میشه
مثلا طرف اشتباهی دوتا دات بزاره مثل 2..3
میخوام اینجور موقع ها اون string قرمز بشه
چون تعداد string ها زیاده میخوام مشخص بشه کدوم اشتباه داره
ممنون :افسرده::افسرده:

Mohadi
دوشنبه 07 دی 1394, 01:44 صبح
سلام به edittext ات این خاصیت رو بده :
.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
مثلا اگر ادیت تکستت اینه :
Edittext edt;
edt.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);

amint70
دوشنبه 07 دی 1394, 01:53 صبح
سلام دوست عزیز کد بالارو بلد بودم ولی به کارم نمیاد چون تو همون edittext قراره جمع و تفریق بنویسه مثل 3-4 برای همین نمیتونم از InputType استفاده کنم

Mohadi
دوشنبه 07 دی 1394, 01:58 صبح
خب پس باید محتویات ادیتتکستت رو بریزی توی استرینگ کارکتر به کارکتر پارس کنی یا onchangedlistener بزنی که درجا اینکارو کنه و تمام موارد محدودیت هایی که میخوای رو براشون if بذاری.
مثلا برای محدود کردن اینکه حروف وارد نکنه فکر کنم همچین کدی جواب میده :
if (edt.gettext().tostring().matches("[a-zA-Z ]+"))
واسه باقی مواردم شرط بذار مثل دو تا دات و الی آخر. راه حل دیگه به ذهنم نمیرسه.