瘋狂 Android 講義, 4/e – CheckBox(複選)/RadioGroup(單選)範例 P94~P96

瘋狂 Android 講義, 4/e – CheckBox(複選)/RadioGroup(單選)範例 P94~P96

瘋狂 Android 講義, 4/e – CheckBox(複選)/RadioGroup(單選)範例 P94~P96


資料來源:

    https://github.com/daichangya/book/tree/master/android
    https://pan.baidu.com/s/1d_xYJI0UQ_1tQzSj_V_NIg 提取码:70ch



XML Code

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:padding="12dp">
	<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:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:id="@+id/male"
				android:text="男"
				android:checked="true"/>
			<RadioButton android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:id="@+id/female"
				android:text="女"/>
		</RadioGroup>
	</TableRow>
	<TableRow>
		<TextView
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:text="喜欢的颜色:" />
		<!-- 定义一个垂直的线性布局 -->
		<LinearLayout android:layout_gravity="center_horizontal"
			android:orientation="vertical"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content">
			<!-- 定义三个复选框 -->
			<CheckBox android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:text="红色"
				android:checked="true"/>
			<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>



Java Code

package org.crazyit.ui;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.TextView;

/**
 * Description:<br>
 * 网站: <a href="http://www.crazyit.org">疯狂Java联盟</a><br>
 * Copyright (C), 2001-2020, Yeeku.H.Lee<br>
 * This program is protected by copyright laws.<br>
 * Program Name:<br>
 * Date:<br>
 * @author Yeeku.H.Lee kongyeeku@163.com<br>
 * @version 1.0
 */
public class MainActivity extends Activity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 获取界面上rg、show两个组件
		RadioGroup rg = findViewById(R.id.rg);
		TextView show = findViewById(R.id.show);
		// 为RadioGroup组件的OnCheckedChange事件绑定事件监听器
		rg.setOnCheckedChangeListener((group, checkedId) -> {
			// 根据用户选中的单选钮来动态改变tip字符串的值
			String tip = checkedId == R.id.male ? "您的性别是男人" :
					"您的性别是女人";
			// 修改show组件中的文本
			show.setText(tip);
		});
	}
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *