RadioGroup是用于让用户进行单选的选择按钮,用法很简单。要给RadioGroup注册一个OnCheckedChangeListener监听事件来监听RadioButton的Checked状态。在这里不知道大家有没有这样一个疑问?为什么这里的OnCheckedChangeListener与checkbox中的OnCheckedChangeListener不是同一个呢?有木有?这是因为我们这里RadioGroup在父类是LinearLayout,而checkbox的父类是CompoundButton,我们当然不能用CompoundButton.OnCheckedChangeListener这个监听器啦 :D
package com.kevin.radioGroup;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class Main extends Activity {
private RadioGroup group;
private RadioButton radioHandsome,radioBeauty;
private TextView tv_result;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
group = (RadioGroup) findViewById(R.id.radioGroup1);
tv_result = (TextView) findViewById(R.id.tv_result);
radioHandsome = (RadioButton) findViewById(R.id.radio0);
radioBeauty = (RadioButton) findViewById(R.id.radio1);
// 给RadioGroup绑定OnCheckedChangeListener
group.setOnCheckedChangeListener(new RadioGroupOnCheckedChangeListener());
}
class RadioGroupOnCheckedChangeListener implements OnCheckedChangeListener{
// 处理选择RadioButton的CheckedChanged事件
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId == radioHandsome.getId()){
tv_result.setText(radioHandsome.getText());
}else if(checkedId == radioBeauty.getId()){
tv_result.setText(radioBeauty.getText());
}
}
}
}