آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیست و پنجم: کار با چک باکس (CheckBox) در اندروید)

استاندارد

در بخش بیست و سوم از آموزش برنامه نویسی اندروید استودیو، در مورد توگل باتن (Toggle Button) ها صحبت کردیم.

کاری که یک Toggle Button می کرد این بود که می توانستیم با انتخاب وضعیتی دلخواه، فرایند مربوط به آن، اجرا شود.

در این بخش در مورد چک باکس (CheckBox) صحبت می کنیم. CheckBox از لحاظ عملکرد شباهت بسیار زیادی به ToggleButton دارد.

checkbox-android-studio-learning

من یک پروژه جدید به نام CheckBox_Gsm ایجاد کردم.

سپس از قسمت Paletteها یک CheckBox و یک Button را به لایه اضافه می کنم.

می خواهیم کدی بنویسیم که اگر CheckBox تیک خورده بود، و بر روی Button زده شد، پیامی را مبنی بر تیک خوردن CheckBox به ما نشان دهد.

کد کامل Xml لایه اپلیکیشن من را می توانید در زیر مشاهده کنید.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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: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="com.gsm_developers.checkbox_gsm.MainActivity">

    <CheckBox
        android:text="CheckBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="107dp"
        android:id="@+id/checkBox" />

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/checkBox"
        android:layout_alignLeft="@+id/checkBox"
        android:layout_alignStart="@+id/checkBox"
        android:layout_marginTop="115dp"
        android:id="@+id/button" />
</RelativeLayout>

حال باید سراغ کد جاوای برنامه برویم.

فایل MainActivity را باز می کنیم. سپس کد های زیر را در آن (در تابع ()onCreate) می نویسیم.

        // معرفی دکمه
        Button btn = (Button) findViewById(R.id.button);
        // معرفی چک باکس
        final CheckBox chkbox = (CheckBox) findViewById(R.id.checkBox);
        // Buttonایجاد رویداد کلیک برای دکمه
        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
         // TODO Auto-generated method stub
                // معرفی یک استرینگ بافر برای گرفتن اطلاعات از چک باکس
                StringBuffer result = new StringBuffer();
                result.append("Check Box Tik khorde ast : ").append(chkbox.isChecked());
                // نمایش توست و گرفتن اطلاعات از استرینگ بافر
                Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show();

            }
        });

کد کامل بخش MainActivity

package com.gsm_developers.checkbox_gsm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.button);

        final CheckBox chkbox = (CheckBox) findViewById(R.id.checkBox);

        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                StringBuffer result = new StringBuffer();
                result.append("CheckBox Tik khorde ast : ").append(chkbox.isChecked());

                Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show();

            }
        });

    }
}

android-studio-beginners-gsm-developers_84