安卓学习第7课——checkbutton

1.布局

<TableLayout 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:orientation="vertical" >
<TableRow>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="性别:"/>
    <RadioGroup
        android:id="@+id/rg"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal" >
    <RadioButton
        android:id="@+id/male"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="男" />

     <RadioButton
        android:id="@+id/female"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="女" />
     </RadioGroup>
</TableRow>
<TableRow >
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="喜欢的颜色"/>
    <LinearLayout
     android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    android:orientation="vertical">
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="红色" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="蓝色" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="绿色" />
    </LinearLayout>
</TableRow>
<TextView 
        android:id="@+id/show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</TableLayout>

首先整体用的是TableLayout,表格布局

然后将单选框那部分放在TableRow里,里面有一个TextView和两个RadioButton(这两个用RadioGroup括起来,形成一个整体)

还有多选框部分,用TableRow括起来,里面有三个checkbox用LinearLayout括起来。形成线性布局,竖直方向的。

最后的是单独放了一个TextView显示结果等。

2.实现选择单选框显示一句话。

package com.example.checkbutton;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class MainActivity extends Activity {
RadioGroup rg;
TextView show;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rg=(RadioGroup) findViewById(R.id.rg);
        show=(TextView) findViewById(R.id.show);
        rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
                String tip=checkedId==R.id.male?
                        "您的性别是男人":"您的性别是女人";
                show.setText(tip);
            }    
        });
    }
}

将两个RadioBox的整体RadioGroup作为一个对象,对他进行事件监听。

用了条件运算符,String tip=checkedId==R.id.male? "您的性别是男人":"您的性别是女人";

最后setText就成。

原文地址:https://www.cnblogs.com/Yvettey-me/p/3846446.html