为什么我的ToggleButton在点击第3下时才能正常使用?谢谢
<?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: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; 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); } class ButtononClickLisenter implements View.OnClickListener{ public void onClick(View v){ //当ToogleButton被触发时 if(toggleButton.isChecked()){ layout01.setVisibility(View.VISIBLE); }else{ layout01.setVisibility(View.GONE); } } } }
25
收起
正在回答
2回答
并不是没有效果,而是因为你初始状态的问题,要不你可以试一下ButtononClickLisenter 中是否每次都走到了if或else。肯定是走到了的。原因是<ToggleButton>增一个属性 android:checked="true"就看到效果了。或者你让layout01默认为不可见也行。祝:学习愉快
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星