آموزش AlertDialog با RadioButton در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش AlertDialog با RadioButton در برنامه نویسی اندروید می پردازیم به طور دقیق اگر بخواهیم توضیح دهیم یعنی در AlertDialog خودمان یکسری دکمه رادیویی قرار بدیم و بتونیم بروی آنها کنترل لازم را داشته باشیم در ادامه می توانید پیشنمایشی از آن را مشاهده کنید با ما همراه باشید.
ابتدا وارد فایل activity_main.xml شده و کد زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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 نام دارد شده و کد زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 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 می کنیم و با کلیک بروی هر کدام پیامی دریافت خواهید کرد.
این آموزش هم به پایان رسید.
موفق و موید باشید.
سلام
من به 4 تا تبدیلشون کردم و حالا می خواهم بعد کلیک کردن روش ، ذخیره دائی بشه تا قبل از حذف برنامه، باید چکار کنم؟
سلام متوجه نشدم چه چیزیو میخواین ذخیره دائمی کنید ولی برای اینکار از sharedpreferences استفاده میتونید بکنید.
می خوام بعد باز شدن دیالوگ ، یکی از 4 گزینه انتخاب شده باشه و با انتخاب دیگری مقدار به دیگری منتقل بشه،همین
ممنون
سلام ودرود
از کد زیر استفاده کنید.
کافیه مقدار -1 رو به عدد تغییر دهید و برای آن لیستنر نوشته شده است.