Android Checkbox and Radio Button Example
File: content_main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/content_main" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" 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" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="android.google.com.uiexample.MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginTop="11dp" android:text="Checkbox and Radio Button Example" android:textAlignment="center" android:textColor="?android:attr/editTextColor" android:textSize="24sp" android:textStyle="normal|bold"/> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:layout_marginTop="42dp" android:text="Choose an option" android:textSize="18sp" android:textStyle="normal|bold|italic"/> <RadioGroup android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="85dp" android:layout_below="@+id/textView2" android:layout_gravity="end" android:layout_marginStart="5dp" android:layout_marginTop="5dp" android:gravity="bottom" android:orientation="vertical"> <RadioButton android:id="@+id/radio_male" android:layout_width="110dp" android:layout_height="wrap_content" android:button="@null" android:checked="true" android:drawableEnd="@android:drawable/btn_radio" android:text="MALE" android:textSize="18sp"/> <RadioButton android:id="@+id/radio_female" android:layout_width="110dp" android:layout_height="wrap_content" android:button="@null" android:drawableEnd="@android:drawable/btn_radio" android:text="FEMALE" android:textSize="18sp"/> </RadioGroup> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/radio_group" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:text="Select which languages you can speak" android:textSize="18sp" android:textStyle="normal|bold|italic"/> <CheckBox android:id="@+id/cb_english" android:layout_width="110dp" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_below="@+id/textView5" android:layout_marginStart="30dp" android:layout_marginTop="27dp" android:button="@null" android:drawableEnd="?android:attr/listChoiceIndicatorMultiple" android:text="ENGLISH" android:textSize="18sp"/> <CheckBox android:id="@+id/cb_german" android:layout_width="110dp" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_below="@+id/cb_english" android:layout_marginStart="30dp" android:layout_marginTop="22dp" android:button="@null" android:drawableEnd="?android:attr/listChoiceIndicatorMultiple" android:text="GERMAN" android:textSize="18sp"/> <CheckBox android:id="@+id/cb_spanish" android:layout_width="110dp" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/cb_english" android:layout_alignBottom="@+id/cb_english" android:layout_alignStart="@+id/cb_french" android:button="@null" android:drawableEnd="?android:attr/listChoiceIndicatorMultiple" android:text="SPANISH" android:textSize="18sp"/> <CheckBox android:id="@+id/cb_french" android:layout_width="110dp" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/cb_german" android:layout_alignBottom="@+id/cb_german" android:layout_alignEnd="@+id/textView5" android:layout_marginEnd="49dp" android:button="@null" android:drawableEnd="?android:attr/listChoiceIndicatorMultiple" android:text="FRENCH" android:textSize="18sp"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/cb_german" android:layout_centerHorizontal="true" android:layout_marginTop="35dp" android:text="Submit" android:textSize="20sp"/> </RelativeLayout> |
Java Activity
File: MainActivity.java
import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private RadioGroup radioGroup; private String chosenGender = "MALE"; private CheckBox english, french, german, spanish; private Button buttonCheck; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main); getWidgets(); } private void getWidgets() { // Radio Group radioGroup = (RadioGroup) findViewById(R.id.radio_group); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // find which radio button is selected if (checkedId == R.id.radio_male) { chosenGender = "MALE"; Toast.makeText(getApplicationContext(), "You Selected: " + chosenGender,Toast.LENGTH_SHORT).show(); } else { chosenGender = "FEMALE"; Toast.makeText(getApplicationContext(), "You Selected: " + chosenGender,Toast.LENGTH_SHORT).show(); } } }); // CheckBoxes english = (CheckBox) findViewById(R.id.cb_english); german = (CheckBox) findViewById(R.id.cb_german); spanish = (CheckBox) findViewById(R.id.cb_spanish); french = (CheckBox) findViewById(R.id.cb_french); // Submit Button buttonCheck = (Button) findViewById(R.id.button); /* OnClickListener : Evaluates each checkbox to see if its checked If checked, checkbox text is appended to StringBuilder */ buttonCheck.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { StringBuilder sb = new StringBuilder(); if (english.isChecked()) { sb.append("\n● " + english.getText()); } if (german.isChecked()) { sb.append("\n● " + german.getText()); } if (spanish.isChecked()) { sb.append("\n● " + spanish.getText()); } if (french.isChecked()) { sb.append("\n● " + french.getText()); } if (sb.length() < 1) { sb.append("\n● NONE"); } Toast.makeText(MainActivity.this, "Gender: " + chosenGender +"\n\nLanguages:\n" + sb.toString(), Toast.LENGTH_SHORT).show(); } }); } } |
Result:
No comments:
Post a Comment