【安卓學習筆記】Android Studio第5課——RadioButton
RadioButton就是常用到的單選按鈕,一般常用到RadioGroup,一個RadioGroup里面可以有多個RadioButton,這里面的單選按鈕一次只能選一個,比如常見的性別的選項,只能選擇male或者female。一個Activity里面當然也可以有多個RadioGroup,不同的RadioGroup互相不影響,這里就簡單的測試了如下圖:
功能也很簡單,這里面放置了兩個RadioGroup,每個組里面有兩個RadioButton,在代碼上就簡單的寫了下測試函數。設置對應兩個RadioButton的CheckedChange監聽事件, 然后在方法體里面添加同步顯示,方法很簡單,比如選中了“男”就把對應的“A”選中,選中了“女”就把對應的“B”給選中,那么反過來也是同樣的。貼上代碼:
package com.example.urien.secondapp;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class Lesson5_Activity extends AppCompatActivity {
//1.聲明控件
private RadioGroup L5_radioGroup;
private RadioButton L5_radioButtonFemale;
private RadioButton L5_radioButtonMale;
private RadioGroup L5_radioGroup2;
private RadioButton L5_radioButtonA;
private RadioButton L5_radioButtonB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lesson5_);
//2.找到控件
L5_radioGroup = findViewById(R.id.L5_radioGroup);
L5_radioButtonFemale = findViewById(R.id.L5_radio_female);
L5_radioButtonMale = findViewById(R.id.L5_radio_male);
L5_radioGroup2 = findViewById(R.id.L5_radioGroup2);
L5_radioButtonA = findViewById(R.id.L5_radio_A);
L5_radioButtonB = findViewById(R.id.L5_radio_B);
//4.設置監聽器
L5_radioGroup.setOnCheckedChangeListener(new radioGroupListener());
L5_radioGroup2.setOnCheckedChangeListener(new radioGroupListener());
L5_radioButtonMale.setOnCheckedChangeListener(new radioButtonListener());
}
//3.實現監聽器接口方法
class radioButtonListener implements CompoundButton.OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
System.out.println("male is selected ————>" + isChecked);
}
}
class radioGroupListener implements RadioGroup.OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(group.getId() == L5_radioGroup.getId()){
if(checkedId == R.id.L5_radio_male){
System.out.println("選中了male");
L5_radioButtonA.setChecked(true);
}
else if(checkedId == R.id.L5_radio_female){
System.out.println("選中了female");
L5_radioButtonB.setChecked(true);
}
}
else if(group.getId() == L5_radioGroup2.getId()){
if(checkedId == L5_radioButtonA.getId()){
System.out.println("選中了A");
L5_radioButtonMale.setChecked(true);
}
else if(checkedId == L5_radioButtonB.getId()){
System.out.println("選中了B");
L5_radioButtonFemale.setChecked(true);
}
}
}
}
}
By Urien 2018年5月12日 21:50:47智能推薦
Android studio教程學習筆記7——RadioButton
第二章 UI組件 2-5 RadioButton 通常在一個組里面單選的時候會用到這個(結合RadioGroup使用),比如性別選男女 常用屬性 自定義樣式 監聽事件 新建一個Activity叫做RadioButtonActivity 下面是MainActivity.java(之前是每一項都寫一次,現在把他們寫成一個方法): 常用屬性 activity_radio_button.xml andro...
【安卓學習筆記】Android Studio 中Gradle配置java8以及對lambda的支持
《瘋狂Android講義》中寫的代碼有使用到lambda表達式,這是Java8才加入的,但是在編譯的時候默認是不支持的。 使用Java8編譯 一、Project的Gradle配置文件修改 首先在Android Studio 中打開Project的Gradle配置文件 在dependencies下加入下列代碼 最終形成 二、Module的Gradle配置文件修改 在Android Studio 中打...
【安卓學習之開發工具】 Android Studio學習 7 - 安卓架構AndroidProject 編譯問題
█ 【安卓學習之開發工具】 Android Studio學習 7 - 安卓架構AndroidProject 編譯問題 █ 相關文章: - ● 【安卓學習之開發工具】 Android Studio學習 1 - 入門篇 ● 【安卓學習之開發工具】 Android Studio學習 2 - 遇到的問題 ● 【安卓學習之開發工具】 Android Studio學習 3 - 一個demo的編譯問題 ...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...