درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      مهدی عادلی فر
      امتیاز: 144149
      رتبه:6
      117
      196
      285
      1466
      مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم. پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید

      جدا کردن و دسته بندی اعداد در EditeText در اندروید

      تاریخ 16 ماه قبل
      نظرات 1
      بازدیدها 562
      سلام به ITPROهای عزیز. ما عادت کرده ایم که برای خواندن اعداد مخصوصا اعداد و ارقام حساس مانند اعداد پول آنها را سه رقم سه رقم از یکدیگر جدا می کنیم. این کار باعث راحت تر خواندن و اشتباه کمتر در درک مقدار عدد دارد. در این نکته توضیح دادیم که در زبان جاوا چگونه می توان اعداد را قالب بندی کرد و از همدیگر آنها را جدا نمود. حالا می خواهیم در این مطلب توضیح دهیم که در اندروید زمانی که در حال استفاده از ویجت EditText هستیم چطوری می توان این کار را انجام داد. برای این کار در داخل layout مربوط به activity یک EditText قرار می دهیم. کد زیر قرار دادن یک EditText را نمایش می دهد.
      <EditText
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:id="@+id/edit1"
          android:layout_below="@id/btn"
          android:hint="Enter number"
          android:inputType="numberDecimal"
          />
      
      
      در داخل اندروید برای این که بتوانیم به مقادیر وارد شده در عین زمان دسترسی داشته باشیم باید از یک اینترفیس به نام TextWatcher استفاده کنیم. پس به خاطر این که ما می خواهیم مقادیر ورودی EditText را زمان ورود بررسی کنیم یک کلاس می سازیم که اینترفیس گفته شده را پیاده سازی کند. این اینترفیس سه متد دارد که ما فقط با متد afterTextChanged کار می کنیم. البته متدهای قبلی را هم می توان در جاهای مختلف مورد استفاده قرار داد ولی دراین نکته فقط از متد گفته شده استفاده می کنیم. حال در داخل این متد می توانیم رشته وارد شده را قالب بندی کنیم. برای این کار قبل از هر کاری به خاطر این که مشکلی پیش نیاید ابتدا کلاس textWather که خودمان ساخته ایم را از لیست listener های EditText حذف می کنیم و بعد از آن رشته را گرفته و تبدیل به Doubleکرده و فرمت دهی می کنیم و دوباره داخل EditText نمایش می دهیم. کلاس ما درکل به شکل زیر خواهد بود
      public class MyNumberWatcher implements TextWatcher {
          private EditText editText;
          private int digit;
      
      
          public MyNumberWatcher(EditText editText) {
              this.editText = editText;
      
          }
      
          @Override
          public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
      
          }
      
          @Override
          public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
      
          }
      
          @Override
          public void afterTextChanged(Editable editable) {
              editText.removeTextChangedListener(this);
      
              String s = editText.getText().toString();
      
              s = s.replace(",", "");
              if (s.length() > 0) {
                  DecimalFormat sdd = new DecimalFormat("#,###");
                  Double doubleNumber = Double.parseDouble(s);
      
                  String format = sdd.format(doubleNumber);
                  editText.setText(format);
                  editText.setSelection(format.length());
      
              }
              editText.addTextChangedListener(this);
          }
      }
      
      
      دقت کنید که خط setSelection محل تایپ کردن را مشخص می کند که ما گفته ایم بعد از تغییر متن محل تایپ کردن یا همان نشانگر به انتهای رشته منتقل شود. همچنین در انتها گفته ایم که دوباره کلاس ما جزء Watcher های EditText باشد.
      بعد از این که این کلاس تعریف شد باید EditText را در جاوا تعریف کنیم و از کلاس تعریف شده استفاده کنیم. که این کار به شکل زیر انجام خواهد شد.
      final EditText editText= (EditText) findViewById(R.id.edit1);
      editText.addTextChangedListener(new MyNumberWatcher(editText));
      
      حال بعد از اجرای برنامه خواهید دید که به راحتی اعداد 3 رقم 3رقم جدا می شوند.

      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • سلام ، ممنون بابت آموزش. تا زمانی که زبان گوشی انگلیسی هست درسته ولی وقتی زبان گوشی فارسی بشه ارور میده

      برای ارسال نظر ابتدا به سایت وارد شوید