为什么关闭wifi时图片还在?怎么修改?
来源:8-4 作业题
weixin_慕容0194784
2019-04-25 15:13:35
public class MainActivity extends AppCompatActivity {
private ToggleButton TB;
private RadioButton RB1,RB2,RB3;
private RadioGroup RG;
private ImageView imageView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.work);
initView();
setListener();
}
public void setListener(){
RG.setOnCheckedChangeListener(new one());
TB.setOnClickListener(new two());
}
class one implements RadioGroup.OnCheckedChangeListener {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.RB1:
imageView1.setImageResource(R.drawable.office);
break;
case R.id.RB2:
imageView1.setImageResource(R.drawable.meeting);
break;
case R.id.RB3:
imageView1.setImageResource(R.drawable.visitor);
break;
}
imageView1.setVisibility(View.VISIBLE);
}
}
class two implements View.OnClickListener{
@Override
public void onClick(View v) {
if(TB.isChecked()){
RG.setVisibility(View.VISIBLE);
}else {
RG.setVisibility(View.GONE);
imageView1.setVisibility(View.GONE);
RB1.setChecked(false);
RB2.setChecked(false);
RB3.setChecked(false);
}
}
}
private void initView() {
TB=(ToggleButton)findViewById(R.id.TB);
RB1=(RadioButton)findViewById(R.id.RB1);
RB2=(RadioButton)findViewById(R.id.RB2);
RB3=(RadioButton)findViewById(R.id.RB3);
RG=(RadioGroup)findViewById(R.id.RG);
imageView1=(ImageView)findViewById(R.id.IV1);
}
}1回答
irista23
2019-04-25
当你调用下图第二个红框中的代码时,就会执行oncheckedchanged()回调,程序就会执行图片的显示设置。正确做法是在关闭wifi时,先调用RG的clearCheck()清空所有radio_choice下所有RadioButton的选中状态,再给RG、imageView1设置不可见

相似问题