请问作业中点击关闭wifi再打开之后如何让3个单选按钮全部显示未选中状态?
public class MainActivity extends Activity {
private ToggleButton on_Or_off;
private RadioGroup choose;
private ImageView imageView;
private RadioButton office,meeting,visitor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
on_Or_off.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
choose.setVisibility(View.VISIBLE);
imageView.setVisibility(View.VISIBLE);
} else {
//直接用setSelected方法为什么没效果
office.setSelected(false);
meeting.setSelected(false);
visitor.setSelected(false);
choose.setVisibility(View.INVISIBLE);
imageView.setVisibility(View.INVISIBLE);
}
}
});
choose.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.office:
imageView.setImageResource(R.drawable.office);
break;
case R.id.meeting:
imageView.setImageResource(R.drawable.meeting);
break;
case R.id.visitor:
imageView.setImageResource(R.drawable.visitor);
break;
}
}
});
}
private void init() {
on_Or_off = (ToggleButton) findViewById(R.id.openwifi);
choose = (RadioGroup) findViewById(R.id.choosewifi);
imageView = (ImageView) findViewById(R.id.image_display);
office=(RadioButton) findViewById(R.id.office);
meeting=(RadioButton) findViewById(R.id.meeting);
visitor=(RadioButton) findViewById(R.id.visitor);
}
}
正在回答
如果想设置RadioButton为初始的都不选中状态,可以使用RadioGroup的clearCheck()方法。如果使用每一个按钮的setChecked(false)会出问题,导致下次点击不会变为选中状态。
- 参与学习 504 人
- 提交作业 1003 份
- 解答问题 1044 个
本专题是专为有Java语言基础想入坑Android开发的同学们准备的。从AndroidUI基础一直到网络,数据存储,一步到位入门Android开发。如果你会Java,那就不要犹豫了~ ~
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星