下午遇到个问题因为RadioButton数量不固定,所以不能写进xml文件只能动态生成,
但是动态生成也有一个问题,就是如何判断当前选的RadioButton的position?
因为有一个列表数据与RadioButton绑定,点击RadioButton的时候需要改变其他组件的值
这时需要从list中取值,如何才能知道点击这个RadioButton的position呢?
代码如下:
/** * * @author wszf * * RadioGroup * 2011-11-14下午09:01:19 * */ public class MainActivity extends Activity { private RadioGroup radioGroup; private HashMap<Integer, Integer> radioMap=new HashMap<Integer, Integer>(); private String[] strs={"早上","中午","下午","傍晚","夜晚"}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); radioGroup=(RadioGroup) findViewById(R.main.radioGroup); for(int i=0;i<strs.length;i++) { RadioButton radioButton=new RadioButton(this); radioButton.setText(strs[i]); radioGroup.addView(radioButton);//将radioButton添加到radioGroup中 radioMap.put(radioButton.getId(), i);//将radioButton的id与position以键值对的方式保存(如果radioButton没有add到radioGroup中,那么radioButton的getId()得到的值为-1) } radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { int position=radioMap.get(checkedId);//通过匹配radioButton的id来或得position Toast.makeText(MainActivity.this, strs[position], Toast.LENGTH_SHORT).show(); } }); } }