کار با RadioButton و RadioGroup در اندروید

منتشرشده توسط حامد قنبری در تاریخ

 

در آندروید، می توانید از کلاس “android.widget.RadioButton” برای نمایش دکمه رادیویی استفاده کنید و این دکمه های رادیویی معمولا توسط android.widget.RadioGroup گروه بندی می شوند. اگر RadioButton در یک گروه یا RadioGroup قرار بگیرند، هنگامی که یک RadioButton درآن گروه انتخاب می شود، سایر RadioButton به طور خودکار از حالت انتخاب خارج می شوند.

در این آموزش، ما به شما نحوه استفاده از  RadioButton  را برای ایجاد دو دکمه رادیویی و گروه بندی در یک گروه رادیوییRadioGroup را آموزش خواهیم داد.

به منظور درک بهتر موضوع مثالی برای دوستان آماده کرده ایم که امیداوریم مفید واقع شده باشد.

اگر در داخل برنامه اکلیپس یا اندروید استودیو قرار دارید پروژه جدیدی را  ایجاد کنید

اکلیپس :File ⇒ New Android ⇒ Application Project

اندروید استودیو :File ⇒ New  ⇒ New Project

اما اگر هنوز برنامه خود را باز نکرده اید یکی از برنامه های فوق را باز نموده و بعد از تعیین مشخصات(نامگذاری) ، تعیین حداقل sdk  و نوع اکتیویتی (blank  یا Empty) ، نام اکتیویتی ابتدایی و اصلی خود  را همان MainActivity قرار دهید. بعد از لود کامل برنامه ، در مسیر res ⇒layout لایه متناظر اکتیوتی اصلی یعنی activity_main را پیدا نمود و کدهای مندرج و پیش فرض آن را پاک کرده و کدهای xml  زیر را به آن اضافه کنید:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RadioGroup
        android:id="@+id/radioSex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="58dp"
        android:layout_above="@+id/btnselect"
        android:layout_centerHorizontal="true">

        <RadioButton
            android:id="@+id/radioMale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="مرد"
            android:checked="true" />

        <RadioButton
            android:id="@+id/radioFemale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="زن" />

    </RadioGroup>

    <Button
        android:id="@+id/btnselect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="انتخاب"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayou

سپس کلاس MainActivity.java  را باز کرده ابتدا ویوهای مورد نظر خود در لایوت مرتبط را در کلاس تعریف می کنیم و سپس تعیین می کنیم در صورت انتخاب یکی از دو رادیو باتن  در صورت کلیک بر روی دکمه تایید نوع انتخاب کاربر بصورت Toast نمایش داده شود.

package ir.example.psrd.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    RadioButton maleoption,femaleoption;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         maleoption = (RadioButton)findViewById(R.id.radioMale);
        femaleoption = (RadioButton)findViewById(R.id.radioFemale);
        Button select = (Button)findViewById(R.id.btnselect);
        select.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(maleoption.isChecked()){
                    Toast.makeText(getApplicationContext(),"شما گزینه مرد را انتخاب کردید",Toast.LENGTH_LONG).show();

                }else if(femaleoption.isChecked()){
                    Toast.makeText(getApplicationContext(),"شما گزینه زن را انتخاب کردید",Toast.LENGTH_LONG).show();

                }
            }
        });


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

حال پروژه را اجرا کرده و از آن در آموزش هر چه بیشتر خود استفاده کنید. اگر مشکلی در اجرای کدها وجود دارد یا سوال مشخصی از نویسنده سایت دارید سوالات خود را در قسمت دیدگاه ها بیان کنید.

کپی برداری از محتوای سایت psrd، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربران ، مجاز است) (کپی برداری توسط سایر وب سایت ها  غیرقانونی بوده و در صورت رویت به ستادسازماندهی اطلاع داده خواهد شد.

 

 

 

 


0 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

-- بارگیری کد امنیتی --