آموزش AlertDialog با RadioButton در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش AlertDialog با RadioButton در برنامه نویسی اندروید می پردازیم به طور دقیق اگر بخواهیم توضیح دهیم یعنی در AlertDialog خودمان یکسری دکمه رادیویی قرار بدیم و بتونیم بروی آنها کنترل لازم را داشته باشیم در ادامه می توانید پیشنمایشی از آن را مشاهده کنید با ما همراه باشید.

ابتدا وارد فایل activity_main.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#FFF3E0">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show Alert"
        android:id="@+id/button"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

در layout خودمان یک دکمه قرار دادیم که با کلیک بروی آن Alert ما نمایش پیدا کند.
سپس وارد اکتیویتی مربوط به آن که در اینجا MainActivity.java نام دارد شده و کد زیر را در آن قرار دهید.

package ir.programchi;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    Button button;
    AlertDialog alertDialog1;
    CharSequence[] values = {" First Item "," Second Item "," Third Item "};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                CreateAlertDialogWithRadioButtonGroup() ;
            }
        });
    }
    public void CreateAlertDialogWithRadioButtonGroup(){
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("Select Your Choice");
        builder.setSingleChoiceItems(values, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                switch(item)
                {
                    case 0:
                        Toast.makeText(MainActivity.this, "First Item Clicked", Toast.LENGTH_LONG).show();
                        break;
                    case 1:
                        Toast.makeText(MainActivity.this, "Second Item Clicked", Toast.LENGTH_LONG).show();
                        break;
                    case 2:
                        Toast.makeText(MainActivity.this, "Third Item Clicked", Toast.LENGTH_LONG).show();
                        break;
                }
                alertDialog1.dismiss();
            }
        });
        alertDialog1 = builder.create();
        alertDialog1.show();
    }
}

ابتدا یک آرایه از نوع CharSequence ایجاد کرده و متن هر کدام از radiobutton ها را در آن قرار میدهیم. زمانی که از setSingleChoiceItems کنیم به طور اتوماتیک Radiobutton ها به Alert ما اضافه می شوند و چون خود values از نوع ارایه است به طور اتوماتیک هر تعداد مقدار درون values باشد در اینجا برابر با سه است به همان تعداد radiobutton ایجاد می شود و برای اینکه بروی هر کدام کنترل داشته باشیم از void مربوط به onClick مقدار item را گرفته و در آن switch می کنیم و با کلیک بروی هر کدام پیامی دریافت خواهید کرد.
 
این آموزش هم به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر