【第22期】观点:IT 行业加班,到底有没有价值?

CompoundButton之RadioButton、CheckBox、ToggleButton、Switch

原创 2016年05月30日 16:08:56
   当这四个选择式按钮的状态改变的时候,获取该按钮状态的文字,并且显示在TextView上。
   string的代码:
<string name="app_name">Itsxwz</string>
<string name="checked">选定了CB</string>
<string name="unchecked">取消了CB</string>
<string name="textOn_tbVibrate">TB是打开的</string>
<string name="textOff_tbVibrate">TB是关闭的</string>
<string name="textOn_swWifi">打开了</string>
<string name="textOff_swWifi">关闭了</string> 

   activity_main.xml的代码:
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context="com.example.itsxwz.MainActivity">

   <RadioGroup
       android:id="@+id/rgGender"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal">

      <RadioButton
          android:id="@+id/rbFemale"
          android:checked="true"
          android:text="Female"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />

      <RadioButton
          android:id="@+id/rbMale"
          android:text="Male"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />

   </RadioGroup>

   <CheckBox
       android:id="@+id/cbPlace"
       android:layout_marginTop="10dp"
       android:text="勾选框"
       android:onClick="onPlaceClick"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />

   <ToggleButton
       android:id="@+id/tbVibrate"
       android:layout_marginTop="10dp"
       android:onClick="onVibrateClick"
       android:textOn="@string/textOn_tbVibrate"
       android:textOff="@string/textOff_tbVibrate"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />

   <Switch
       android:id="@+id/swWifi"
       android:layout_marginTop="12dp"
       android:padding="10dp"
       android:switchMinWidth="12sp"
       android:switchPadding="12sp"
       android:text="Wifi"
       android:textOff="@string/textOff_swWifi"
       android:textOn="@string/textOn_swWifi"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />

   <TextView
       android:id="@+id/tvMessage"
       android:padding="5dp"
       android:textSize="20sp"
       android:background="#ff0"
       android:layout_width="match_parent"
       android:layout_height="80dp" />

</LinearLayout>
    MainActivity.java的代码:
public class MainActivity extends AppCompatActivity {
    private TextView tvMessage;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
    }

    private void findViews() {
        tvMessage = (TextView) findViewById(R.id.tvMessage);
        RadioGroup rgGender = (RadioGroup) findViewById(R.id.rgGender);
        Switch swWifi = (Switch) findViewById(R.id.swWifi);

        rgGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton radioButton = (RadioButton)group.findViewById(checkedId);
                tvMessage.setText(radioButton.getText());
            }
        });

        swWifi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Switch sw = (Switch) buttonView;
                String swName = sw.getText().toString();
                String message = "";
                if (isChecked){
                    message = swName + " " + sw.getTextOn();
                }else {
                    message = swName + " " + sw.getTextOff();
                }
                tvMessage.setText(message);
            }
        });

    }


    public void onPlaceClick(View v){
        CheckBox checkBox = (CheckBox) v;
        String checkBoxName = checkBox.getText().toString();
        String message;

        if (checkBox.isChecked())
            message = getString(R.string.checked) + " " + checkBoxName;
        else{
            message = getString(R.string.unchecked) + " " + checkBoxName;
        }
        tvMessage.setText(message);
    }

    public void onVibrateClick(View v){
        ToggleButton toggleButton = (ToggleButton) v;
        tvMessage.setText(toggleButton.getText());
    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

android开关按钮,Switch,ToggleButton,RadioButton,CheckBox ,多种实现开关按钮

android开关按钮,Switch,ToggleButton,RadioButton,CheckBox ,多种实现开关按钮

设置ToggleButton、Switch、CheckBox和RadioButton的显示效果

ToggleButton、Switch、CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的用法都很类似。CompoundButton有两个状态,分别是checked和not checked。Switch是andro...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

CompoundButton之RadioButton、CheckBox、ToggleButton、Switch

当这四个选择式按钮的状态改变的时候,获取该按钮状态的文字,并且显示在TextView上。 string的代码: Itsxwz 选定了CB 取消了CB itsxwz
  • itsxwz
  • 2016-05-30 16:08
  • 69
  • CompoundButton(checkbox,switch,ToggleButton)和RadioGroup OnCheckedChangeListener() 引用冲突问题

    在一个类中同时有CompoundButton 和 RadioGroup   vSwitch.setOnCheckedChangeListener(new OnCheckedChangeListe...

    Android Framework 记录之二

    接着上次的记录,续写。 23、services目录 文件 描述 class AlarmManagerService e
    收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

    (最多只允许输入30个字)