初始状态,没有选中RadioButton时,图片为什么会出现?该怎么改,谢谢

初始状态,没有选中RadioButton时,图片为什么会出现?该怎么改,谢谢

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="无限局域网络"/>
        <ToggleButton
            android:id="@+id/tb"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:checked="true"
            android:textOff="关闭WiFi"
            android:textOn="打开WiFi"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/layout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RadioGroup
            android:id="@+id/radioGroup"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <RadioButton
                android:id="@+id/btn_offic"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="imooc-offic"/>
            <RadioButton
                android:id="@+id/btn_meeting"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="imooc-meeting"/>
            <RadioButton
                android:id="@+id/btn_vistor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="imooc-vistor"/>
        </RadioGroup>
        <LinearLayout
            android:id="@+id/layout02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <ImageView
                android:id="@+id/imageview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/office"/>
            <TextView
                android:id="@+id/showTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>
package com.example.jackson.ui_design;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.ToggleButton;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
    private ToggleButton toggleButton;
    private RadioGroup radioGroup;
    private RadioButton rb_office,rb_meeting,rb_visitor;
    private ImageView imageView;
    private TextView textView;
    private LinearLayout layout01,layout02;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
        //初始化
        initView();
        //控件绑定监听器
        bandListener();
    }
    private void initView(){
        toggleButton = (ToggleButton)findViewById(R.id.tb);
        radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
        rb_office = (RadioButton)findViewById(R.id.btn_offic);
        rb_meeting = (RadioButton)findViewById(R.id.btn_meeting);
        rb_visitor = (RadioButton)findViewById(R.id.btn_vistor);
        imageView = (ImageView)findViewById(R.id.imageview);
        textView = (TextView)findViewById(R.id.showTime);
        layout01 = (LinearLayout)findViewById(R.id.layout01);
        layout02 = (LinearLayout)findViewById(R.id.layout02);
    }
    private  void bandListener(){
        ButtononClickLisenter buttononClickLisenter = new ButtononClickLisenter();
        toggleButton.setOnClickListener(buttononClickLisenter);
        RadioButtonListener radioButtonListener = new RadioButtonListener();
        radioGroup.setOnCheckedChangeListener(radioButtonListener);
    }
    //获取当前时间
    private void getTime(){
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
        String formattedDate = df.format(calendar.getTime());
        textView.setText("当前时间:" + formattedDate);

    }
    class ButtononClickLisenter implements View.OnClickListener{
        public void onClick(View v){
            //当ToogleButton被触发时
            if(toggleButton.isChecked()){
                layout01.setVisibility(View.VISIBLE);
                layout02.setVisibility(View.GONE);
            }else{
                layout01.setVisibility(View.GONE);
                layout02.setVisibility(View.GONE);
                rb_office.setChecked(false);
                rb_meeting.setChecked(false);
                rb_visitor.setChecked(false);
            }
        }
    }
    class RadioButtonListener implements RadioGroup.OnCheckedChangeListener{
        public void onCheckedChanged(RadioGroup rg,int checkedId){
            //当选中RadioBu时触发
            switch (checkedId){
                case R.id.btn_offic:
                    imageView.setImageResource(R.drawable.office);
                    getTime();
                    layout02.setVisibility(View.VISIBLE);
                    break;
                case R.id.btn_meeting:
                    imageView.setImageResource(R.drawable.meeting);
                    getTime();
                    layout02.setVisibility(View.VISIBLE);
                    break;
                case R.id.btn_vistor:
                    imageView.setImageResource(R.drawable.visitor);
                    getTime();
                    layout02.setVisibility(View.VISIBLE);
                    break;
            }
        }
    }
}

http://img1.sycdn.imooc.com//climg/5a4f1524000183ba04250690.jpg初始状态,没有选中RadioButton时,图片为什么会出现?该怎么改,谢谢

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

因为

<ImageView
                android:id="@+id/imageview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/office"/>

你给它设置src了。把这个属性去掉。祝:学习愉快

  • 宝慕林7867458 提问者 #1
    可是我已经在Java中设置隐藏属性了,为什么还会显示呢?谢谢
    2018-01-05 14:34:30
  • 好帮手慕雪 回复 提问者 宝慕林7867458 #2
    你是说ButtononClickLisenter里面设置隐藏属性了?这里设置不管用的。你放到initView()才管用呢。只有监听到事件才走ButtononClickLisenter相关代码呢。没有事件发生是不走的。可以说马上进来是不相应ButtononClickLisenter中 onClick事件的
    2018-01-05 14:43:00
  • 宝慕林7867458 提问者 回复 好帮手慕雪 #3
    明白了,谢谢
    2018-01-05 14:51:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师