当前位置: 代码迷 >> Android >> RadioButton 的有关问题
  详细解决方案

RadioButton 的有关问题

热度:469   发布时间:2016-05-01 14:45:54.0
RadioButton 的问题

timerRadio = (RadioButton)findViewById(R.id.timer);
triggerRadio = (RadioButton)findViewById(R.id.trigger);

//给RadioGroup设置事件监听 
radioGroupSet2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
  @Override 
  public void onCheckedChanged(RadioGroup group, int checkedId) { 
  // TODO Auto-generated method stub 
   
  if((timerRadio.getId()) ==checkedId){ 
  。。。。
  }else{
  。。。。
  } 
  } 
  });  
在运行程序的时候出现错误,提示出现错误,错误在timerRadio。getId()这行,我将程序改为如下

radioGroupSet2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
  @Override 
  public void onCheckedChanged(RadioGroup group, int checkedId) { 
  // TODO Auto-generated method stub 
   
  if((R.id.timer) ==checkedId){ 
  。。。。
  }else{
  。。。。
  } 
  } 
  });  

可以运行。为什么会这样啊。
凡是在程序中要用到timerRadio 的方法都会运行失败,有错误,比如timerRadio.setChecked()等等,跟timerRadio有关的方法时都出错,我注释掉就可以了。怎么解决啊。

------解决方案--------------------
建议楼主用switch来写,因为如果你的RadioGroup增加到很多个的时候,if-else写起来就很麻烦了,代码阅读就不方便。
Java code
switch(checkedId):case R.id. 。。。。
  相关解决方案