第十七篇-使用RadioGroup实现单项选择

时间:2023-03-09 19:04:04
第十七篇-使用RadioGroup实现单项选择

上效果图

第十七篇-使用RadioGroup实现单项选择

首先进行控件布局,一个textview,6个radiobutton,

main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".MainActivity"> <TextView
android:id="@+id/textView"
android:layout_width="233dp"
android:layout_height="74dp"
android:textSize="35sp"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="25dp" /> <RadioGroup
android:id="@+id/RG"
android:layout_width="264dp"
android:layout_height="202dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
tools:ignore="MissingConstraints"> <RadioButton
android:id="@+id/RB1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton1"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="62dp"
tools:layout_editor_absoluteY="87dp" /> <RadioButton
android:id="@+id/RB2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton2"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="62dp"
tools:layout_editor_absoluteY="143dp" /> <RadioButton
android:id="@+id/RB3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton3"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="62dp"
tools:layout_editor_absoluteY="214dp" /> <RadioButton
android:id="@+id/RB4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton4"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="62dp"
tools:layout_editor_absoluteY="278dp" /> <RadioButton
android:id="@+id/RB5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton5"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="62dp"
tools:layout_editor_absoluteY="356dp" /> <RadioButton
android:id="@+id/RB6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton6"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="61dp"
tools:layout_editor_absoluteY="429dp" />
</RadioGroup> </android.support.constraint.ConstraintLayout>

MainActivity.java

package com.example.aimee.radiogrouptest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends AppCompatActivity {
TextView textview;
RadioGroup RG;
RadioButton RB1;
RadioButton RB2;
RadioButton RB3;
RadioButton RB4;
RadioButton RB5;
RadioButton RB6; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview=findViewById(R.id.textView);
RG=findViewById(R.id.RG);
RB1=findViewById(R.id.RB1);
RB2=findViewById(R.id.RB2);
RB3=findViewById(R.id.RB3);
RB4=findViewById(R.id.RB4);
RB5=findViewById(R.id.RB5);
RB6=findViewById(R.id.RB6); RG.setOnCheckedChangeListener(ChangeRadioGroup);
}
private RadioGroup.OnCheckedChangeListener ChangeRadioGroup=new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId==RB1.getId()&&RB1.isChecked()){
textview.setText(RB1.getText());
Toast.makeText(MainActivity.this,RB1.getText()+"被选择",Toast.LENGTH_SHORT).show();
}
else if(checkedId==RB2.getId()&&RB2.isChecked()){
textview.setText(RB2.getText());
Toast.makeText(MainActivity.this,RB2.getText()+"被选择",Toast.LENGTH_SHORT).show(); }
else if(checkedId==RB3.getId()&&RB3.isChecked()){
textview.setText(RB3.getText());
Toast.makeText(MainActivity.this,RB3.getText()+"被选择",Toast.LENGTH_SHORT).show(); }
else if(checkedId==RB4.getId()&&RB4.isChecked()){
textview.setText(RB4.getText());
Toast.makeText(MainActivity.this,RB4.getText()+"被选择",Toast.LENGTH_SHORT).show(); }
else if(checkedId==RB5.getId()&&RB5.isChecked()){
textview.setText(RB5.getText());
Toast.makeText(MainActivity.this,RB5.getText()+"被选择",Toast.LENGTH_SHORT).show(); }
else if(checkedId==RB6.getId()&&RB6.isChecked()){
textview.setText(RB6.getText());
Toast.makeText(MainActivity.this,RB6.getText()+"被选择",Toast.LENGTH_SHORT).show(); }
}
};
}

/res/values/string.xml

<resources>
<string name="app_name">RadioGroupTest</string>
<string name="radiobutton1">Android</string>
<string name="radiobutton2">Sysbian</string>
<string name="radiobutton3">WinCE</string>
<string name="radiobutton4">PalmOS</string>
<string name="radiobutton5">Linux</string>
<string name="radiobutton6">iphoneOS</string>
</resources>