为什么ImageView 和TextView无法关闭
package com.imooc.ui_project;
import java.security.PublicKey;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.text.Layout;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.ToggleButton;
public class MainActivity extends Activity {
private int year,month,date,hour,minute,second,millisecond;
private ToggleButton toggleButton;
private RadioGroup radioGroup;
private RadioButton rb01, rb02, rb03;
private ImageView imageView;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ui);
initView();
textView.setText(setTime());
toggleButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (toggleButton.isChecked()) {
radioGroup.setVisibility(View.VISIBLE);
} else {
radioGroup.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);
textView.setVisibility(View.GONE);
radioGroup.clearCheck();
}
}
});
}
private void initView() {
toggleButton = (ToggleButton) findViewById(R.id.tb);
radioGroup = (RadioGroup) findViewById(R.id.rg);
rb01 = (RadioButton) findViewById(R.id.rb01);
rb02 = (RadioButton) findViewById(R.id.rb02);
rb02 = (RadioButton) findViewById(R.id.rb03);
imageView = (ImageView) findViewById(R.id.iv);
textView = (TextView) findViewById(R.id.tv);
radioGroup.setOnCheckedChangeListener(new MyRadioButtonListener());
}
private String setTime(){
Calendar calendar= Calendar.getInstance();
year=calendar.get(calendar.YEAR);
month=calendar.get(calendar.MONTH);
date=calendar.get(calendar.DATE);
hour=calendar.get(calendar.HOUR);
minute=calendar.get(calendar.MINUTE);
second=calendar.get(calendar.SECOND);
millisecond=calendar.get(calendar.MILLISECOND);
return "当前时间:"+year+"-"+month+"-"+date+"-"+hour+
"-"+minute+"-"+second+"-"+millisecond;
}
class MyRadioButtonListener implements OnCheckedChangeListener {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb01:
imageView.setImageResource(R.drawable.office);
break;
case R.id.rb02:
imageView.setImageResource(R.drawable.meeting);
break;
case R.id.rb03:
imageView.setImageResource(R.drawable.visitor);
}
imageView.setVisibility(View.VISIBLE);
textView.setVisibility(View.VISIBLE);
}
}
}27
收起
正在回答 回答被采纳积分+1
2回答
Polaris717
2018-10-12 13:52:19
toggleButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (toggleButton.isChecked()) {
radioGroup.setVisibility(View.VISIBLE);
} else {
radioGroup.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);
textView.setVisibility(View.GONE);
radioGroup.clearCheck();
}
}
});这一段中, radioGroup.clearCheck(); 放在radioGroup之后,放在Imageview之前,可能因为radioButton还是选中的,imageView.setVisibility(View.GONE); textView.setVisibility(View.GONE);执行之后又被打开了,然后radioGroup.clearCheck();才执行
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星