Android studio实现单选按钮

Yelena ·
更新时间:2024-09-20
· 168 次阅读

本文实例为大家分享了Android studio实现单选按钮的具体代码,供大家参考,具体内容如下

创建空activity
编辑activity_main.xml文件

代码如下:

<?xml version="1.0" encoding="utf-8"?> <androidx.appcompat.widget.LinearLayoutCompat     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="wrap_content"     android:orientation="vertical"     android:gravity="center"     tools:context=".MainActivity">     <TextView         android:id="@+id/chooseTxt"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:gravity="center"         android:text="@string/text1"         android:textColor="@color/colorblack"         android:textSize="30sp" />         //定义RaidGroup是要注意属性添加的位置     <RadioGroup         android:id="@+id/radioGroup"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:orientation="vertical"         android:gravity="center"         >         <RadioButton             android:id="@+id/radioButton1"             android:layout_width="wrap_content"             android:layout_height="match_parent"             android:button="@null"             android:drawableRight="@android:drawable/btn_radio"             android:text="@string/text2"             />         <RadioButton             android:id="@+id/radioButton2"             android:layout_width="wrap_content"             android:layout_height="match_parent"             android:text="@string/text3"             />     </RadioGroup>     <Button         android:id="@+id/ClearBtn"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:text="@string/text4" />     <Button         android:id="@+id/AddBtn"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:text="@string/text5"          /> </androidx.appcompat.widget.LinearLayoutCompat>

还有strings.xml文件,代码如下:

<resources>     <string name="app_name">My App</string>     <string name="text1">我选择的是...?</string>     <string name="text2">按钮1</string>     <string name="text3">按钮2</string>     <string name="text4">清除选中</string>     <string name="text5">添加子项</string> </resources>

再是MainActivity.java文件,代码如下:

package com.example.myapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; public class MainActivity extends AppCompatActivity {     private RadioGroup  radioGroup;     private RadioButton radioButton1;     private RadioButton radioButton2;     private Button radioClearBtn;     private Button radioAddBtn;     private TextView chooseTxt;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         radioButton1 = findViewById(R.id.radioButton1);         radioButton2 = findViewById(R.id.radioButton2);         radioGroup= findViewById(R.id.radioGroup);         //设置选中变换监听         radioGroup.setOnCheckedChangeListener(onCheckedChangeListener);         //分别为两个按钮设置点击监听         radioClearBtn = findViewById(R.id.ClearBtn);         radioClearBtn.setOnClickListener(onClickListener);         radioAddBtn = findViewById(R.id.AddBtn);         radioAddBtn.setOnClickListener(onClickListener);         chooseTxt = findViewById(R.id.chooseTxt);     }     //onCheckedChangeListener()方法     private  OnCheckedChangeListener onCheckedChangeListener=new OnCheckedChangeListener() {         @Override         public void onCheckedChanged(RadioGroup group, int checkedId) {         //定义id并赋值被选中的单选按钮的id             int id = group.getCheckedRadioButtonId();             switch (id) {                 case R.id.radioButton1:                     chooseTxt.setText("我选择的是:" + radioButton1.getText());                     break;                 case R.id.radioButton2:                     chooseTxt.setText("我选择的是:" + radioButton2.getText());                     break;                 default:                     chooseTxt.setText("我选择的是:新增");                     break;              }         }     };     private OnClickListener onClickListener = new OnClickListener() {         @Override         public void onClick(View view) {                 switch (view.getId()) {                     case R.id.ClearBtn:                         radioGroup.check(-1);//清除选项                         chooseTxt.setText("我选择的是...?");                         break;                     case R.id.AddBtn:                         RadioButton newRadio = new RadioButton(MainActivity.this);                         //将新增的radiobutton加入到radioGroup中                         newRadio.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));                         newRadio.setText("新增");                         radioGroup.addView(newRadio, radioGroup.getChildCount());                         break;                     default:                         break;                 }         }     }; }

运行结果如下:



studio 按钮 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号