为什么我的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 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星