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

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

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

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

    عضویت در

    کانال تلگرام

    توسینسو

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

      تبدیل یک لیست ویو به یک چک لیست در اندروید

      تاریخ 17 ماه قبل
      نظرات 0
      بازدیدها 367
      سلام ITPRO های عزیز. یکی از قابلیت هایی که لیست ها دارند این است که بتوانیم از داخل آن ها چند تا آیتم انتخاب کرده و کار خاصی را بر روی آن انجام دهیم. همانطور که در ویدیو ها گفتیم برای نشان دادن لیست ها از کنترل ListView استفاده می کنیم. مثلا در این ویدیو لیست ویو را معرفی کردیم و خواص آن را گفتیم. در این مطلب می خواهیم یک ListView و یک دکمه در صفحه داشته باشیم که بتوان چند آیتم لیست ویو را انتخاب کرد و با کلیک بر روی دکمه عمل خاصی را بر روی آیتم های انتخاب شده انجام داد. برای این کار از خاصیت setChoiceMode مربوط به لیست ویو استفاده می کنیم.

      طراحی Layout


      برای طراحی layout به شکلی که هم لیست ویو و هم دکمه در یک صفحه قرار بگیرند باید از LinearLayout برای layout پدر استفاده کنیم و با استفاده از خاصیت weight برای هر کنترل مشخص کنیم که میتواند صفحه را پر کند یا خیر به صورت کلی کد layout به شکل زیر خواهد شد
      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:id="@+id/activity_main"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
       
          android:orientation="vertical"
          tools:context="ir.itpro.receiverapp.MainActivity">
      
      <ListView
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:id="@+id/listT"></ListView>
          <Button
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:text="submit"
              android:id="@+id/btnSub"
              android:layout_weight="0"
             android:layout_below="@id/listT"/>
      </LinearLayout>
      
      دقت کنید که orientation مربوط به LinearLayout باید vertical باشد.

      نوشتن کد جاوای پس زمینه


      حال برای این که داده ها را لود کرده و نشان دهیم و همچنین برای این که دکمه ما به درستی کار کند به سراغ کد جاوای پس زمینه برنامه می رویم. کد پس زمینه جاوای این برنامه به شکل زیر خواهد بود
      public class MainActivity extends AppCompatActivity {
          private Button btn;
          private ListView listView;
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              btn= (Button) findViewById(R.id.btnSub);
              listView= (ListView) findViewById(R.id.listT);
              String[] strings = {"mehdi", "hasan", "hoseid", "mohamad", "ali", "hadi"};
              ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_checked, strings);
              listView.setChoiceMode(listView.CHOICE_MODE_MULTIPLE);
              listView.setAdapter(adapter);
              btn.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View view) {
                      int count = listView.getCheckedItemCount();
                      Toast.makeText(MainActivity.this,Integer.toString(count),Toast.LENGTH_LONG).show();
                  }
              });
          }
      
      }
      
      در کد بالا بعد از مقدار دهی ویجت های برنامه یک آرایه رشته ای ساخته ایم که چند مقدار دارد. حال باید یک adapter بسازیم که این مقادیر را در داخل لیست ویو به شکلی قرار دهد که بتوان آن ها را انتخاب کرد. برای همین یک adapter به شکل زیر ساخته ایم.
      ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_checked, strings);
      
      مشاهده می کنید که برای layout برنامه از simplelistitem_checked استفاده کرده ایم. این layout به صورت آماده در داخل android sdk شما وجود دارد. برای این که در لیست ویو بتوان چند گزینه را با هم انتخاب کرد باید خاصیت زیر را برای آن مقداردهی نمود
              listView.setChoiceMode(listView.CHOICE_MODE_MULTIPLE);
      
      در قسمت انتهای کد رویداد مربوط به دکمه را نوشته ایم. با کلیک بر روی دکمه با استفاده از متد getCheckedItemCount تعداد آیتم های انتخاب شده به دست آورده می شود و نشان داده می شود. حال اگر بخواهیم ببیینیم که کدام آیتم ها انتخاب شده اند می توانیم از قطعه کد زیر استفاده کنیم
      SparseBooleanArray checkedItemPositions = listView.getCheckedItemPositions();
                      for (int i=0;i<listView.getChildCount();i++){
                          Log.i("listItem",Boolean.toString( checkedItemPositions.get(i)                    )+" "+i);
                      }
      
      در آرایه checkedItemPositions اگر یک اندیس مقدار True داشته باشد به معنی این است که آن آیتم انتخاب شده است و در غیر این صورت انتخاب نشده است. در زیر عکس این صفحه را مشاهده می کنید.
      تبدیل یک لیست ویو به یک چک لیست در اندروید

      ITPRO باشید.

      نویسنده: مهدی عادلی فر
      منبع: Itpro
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

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

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

      نظرات
      هیچ نظری ارسال نشده است

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