کار با 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 دیدگاه