Android?studio實現(xiàn)單選按鈕
本文實例為大家分享了Android studio實現(xiàn)單選按鈕的具體代碼,供大家參考,具體內(nèi)容如下
創(chuàng)建空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); ? ? ? ? //設置選中變換監(jiān)聽 ? ? ? ? radioGroup.setOnCheckedChangeListener(onCheckedChangeListener); ? ? ? ? //分別為兩個按鈕設置點擊監(jiān)聽 ? ? ? ? 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; ? ? ? ? ? ? ? ? } ? ? ? ? } ? ? }; }
運行結果如下:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
unity5.6 導出gradle工程 Android Studio 導入問題及處理方法
這篇文章主要介紹了unity5.6 導出gradle工程 Android Studio 導入問題及處理方法,需要的朋友可以參考下2017-12-12Crashlytics Android 異常報告統(tǒng)計管理(詳解)
下面小編就為大家?guī)硪黄狢rashlytics Android 異常報告統(tǒng)計管理(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05Android中AsyncTask異步任務使用詳細實例(一)
AsyncTask是Android提供的輕量級的異步類,可以直接繼承AsyncTask,在類中實現(xiàn)異步操作,并提供接口反饋當前異步執(zhí)行的程度(可以通過接口實現(xiàn)UI進度更新),最后反饋執(zhí)行的結果給UI主線程,通過本文給大家介紹Android中AsyncTask異步任務使用詳細實例(一),需要的朋友參考下2016-02-02Android?App應用退到后臺顯示通知的實現(xiàn)方法
當用戶收到app發(fā)過來的消息時,如果app沒有在前臺打開,需要提醒用戶有新的消息,所以這篇文章主要給大家介紹了關于Android?App應用退到后臺顯示通知的實現(xiàn)方法,需要的朋友可以參考下2022-01-01Android開發(fā)實現(xiàn)的ViewPager引導頁功能(動態(tài)加載指示器)詳解
這篇文章主要介紹了Android開發(fā)實現(xiàn)的ViewPager引導頁功能(動態(tài)加載指示器),結合實例形式詳細分析了Android使用ViewPager引導頁的具體步驟,相關布局、功能使用技巧,需要的朋友可以參考下2017-11-11