为什么关闭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设置不可见
相似问题