package com.example.android_day03_radiobutton_02;
import android.R.integer;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
/**
* 选中状态下的RadioButton 设置红色背景 其他颜色为黄色
*
* 1.初始化控件
* 2.控件监听
* 3.改变选中RadioButton的背景
*/
public class MainActivity extends Activity {
private RadioGroup rGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rGroup = (RadioGroup) findViewById(R.id.radio_group);
//设置选中监听
rGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
/**
* 1.RadioGroup是一个 LinearLayout ViewGroup
* 2.在同一个RadioGroup中只能有一个RadioButton是选中状态
* 思考: 能不能拿到Viewgroup中的所有子控件
*/
//1.获取RadioGroup中孩子的总数
int count = rGroup.getChildCount();
//遍历获取每个孩子 判断是否是选中状态
for (int i = 0; i < count; i++) {
//取出每个孩子 RadioButton
View view = rGroup.getChildAt(i);
//判断是否RadioButton
if (view instanceof RadioButton) {
//强转成RadioButton
RadioButton radioButton = (RadioButton) view;
//判断一下RadioButton是否是选中状态
//isChecked是否是选中
if (radioButton.isChecked()) {
//选中设置为红色
radioButton.setBackgroundColor(Color.RED);
}else{
radioButton.setBackgroundColor(Color.YELLOW);
}
}
}
}
});
//设置选中状态
((RadioButton)rGroup.getChildAt(0)).setChecked(true);
}
}
Android-day04-RadioButton
最新推荐文章于 2024-01-29 15:59:00 发布