به نام خدا،در مبحث امروز میخواهیم در مورد چک باکس (Checkbox) ها در اندروید کار کنیم در مبحث قبلی با توگل باتن ها کار کردیم که انچنان تفاوتی با چک باکس نداره،امروز میخواهیم یک پروژه جدید ایجاد کنیم و در اون از چک باکس ها استفاده کنیم.
من پروژه خودم رو به نام Checkbox ایجاد کردم ،بر روی لایه خودم یک چک باکس و باتن اضافه کردم،وظیفه ای که اینجا به باتن (Button)میخواهیم بدیم اینه که زمانی که چک باکس ما تیک خورد یک پیامی رو به ما نشون بده.کد کامل بخش Xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" ><CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Checkbox"/><Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/checkBox1"
android:layout_marginTop="15dp"
android:text="Click konid" /></RelativeLayout>
بعد از اینکه قسمت xml برنامه رو کامل کردیم میریم سراغ قسمت جاوا و فایل MainActivity.در این قسمت ابتدا چک باکس و باتن رو معرفی میکنیم.و سپس به دکمه رویداد کلیک رو میدیم تا وقتی روی Button کلیک شد مقدار چک باکس رو با دستور StringBuffer میگیره و اون رو به توست میفرسته جهت نمایش.کدهای کامل بخش MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //معرفی دکمه Button button = (Button) findViewById(R.id.button1); //معرفی چک باکس final CheckBox check = (CheckBox) findViewById(R.id.checkBox1); //ایجاد رویداد کلیک برای دکمه button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //معرفی یک استرینگ بافر برای گرفتن اصلاعات چک باکس StringBuffer result = new StringBuffer(); result.append("checkbox click shod:").append(check.isChecked()); //نمایش توست و گرفتن اطلاعات از استرینگ بافر Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show(); } }); } }
اگه بطور مثال بخواهیم ده تا چک باکس داشته باشیم و بگیم که وقتی کاربر ۵ تا از اونها رو چک زد ( فرقی نداشته باشه کدوم چک باکس هارو ) بیا یه پیغام نمایش بده … به چه طریقی اینکار امکان پذیر هست ( در اصل فقط تعداد آنها رو مد نظر قرار بدیم )
ممنون میشم اگه راهنمایی کنید