Android入门--多选项CheckBox 及CheckBox选择事件 的应用

来源:互联网 发布:redis数据持久化 编辑:程序博客网 时间:2024/06/05 14:46

① 新建工程

② 在string.xml 中添加字符串

<pre name="code" class="html"><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">Forward</string>        <string name="shoopingList_TextView_text" >网上购物商品清单</string>    <string name="yourChocieWoods_text" >您选择购买的商品:</string>    <string name="woods_Text_MP4">纽曼MP4</string>    <string name="woods_Text_musicCD">Beyond乐队CD</string>    <string name="woods_Text_book">Android程序员指南</string>
</resources>

activity_forward.xml文件代码如下:
<RelativeLayout 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"    tools:context="com.hanji.forward.Forward" >    <TextView        android:id="@+id/TextView_shoppingList"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/shoopingList_TextView_text"        android:textSize="25px" >    </TextView>    <CheckBox        android:id="@+id/CheckBox_MP4"        android:layout_width="180px"        android:layout_height="wrap_content"        android:text="@string/woods_Text_MP4"        android:layout_below="@+id/TextView_shoppingList"    android:layout_marginTop="20dp" >    </CheckBox>    <CheckBox        android:id="@+id/CheckBox_musicCD"        android:layout_width="180px"        android:layout_height="wrap_content"        android:text="@string/woods_Text_musicCD"android:layout_below="@+id/CheckBox_MP4"    android:layout_marginTop="20dp" >    </CheckBox>    <CheckBox        android:id="@+id/CheckBox_book"        android:layout_width="180px"        android:layout_height="wrap_content"        android:text="@string/woods_Text_book"        android:layout_below="@+id/CheckBox_musicCD"    android:layout_marginTop="20dp" >    </CheckBox>    <TextView        android:id="@+id/TextView_yourChoice"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/yourChocieWoods_text"        android:textSize="20px"         android:layout_below="@+id/CheckBox_book"    android:layout_marginTop="20dp" >    </TextView>    <TextView        android:id="@+id/TextView_yourWoodsList"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textSize="20px"         android:layout_below="@+id/TextView_yourChoice"    android:layout_marginTop="20dp" >    </TextView></RelativeLayout>
Forward.java文件代码如下:
package com.hanji.forward;import android.support.v7.app.ActionBarActivity;import android.widget.CompoundButton.OnCheckedChangeListener;import android.os.Bundle;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.TextView;public class Forward extends ActionBarActivity {private TextView showyourChoice_TextView;private CheckBox mp4_CheckBox, musicCD_CheckBox, book_CheckBox;private String showinfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_forward);/* findViewById()从XML中获取资源对象 */showyourChoice_TextView = (TextView) findViewById(R.id.TextView_yourWoodsList);mp4_CheckBox = (CheckBox) findViewById(R.id.CheckBox_MP4);musicCD_CheckBox = (CheckBox) findViewById(R.id.CheckBox_musicCD);book_CheckBox = (CheckBox) findViewById(R.id.CheckBox_book);/* 为三个CheckBox设置选择状态改变事件监听器 */mp4_CheckBox.setOnCheckedChangeListener(CheckedChangeListener);musicCD_CheckBox.setOnCheckedChangeListener(CheckedChangeListener);book_CheckBox.setOnCheckedChangeListener(CheckedChangeListener);/* 从XML中获取显示信息String */showinfo = getString(R.string.yourChocieWoods_text);}/* 内部接口实现 */private OnCheckedChangeListener CheckedChangeListener = new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stub/* 处理选中状态改变事件,动态显示选择结果 */if (mp4_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_MP4) + "\n";showString();} else if (musicCD_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_musicCD) + "\n";showString();} else if (book_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_book) + "\n";showString();}if (mp4_CheckBox.isChecked() && musicCD_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_MP4) + "\n"+ getString(R.string.woods_Text_musicCD) + "\n";showString();} else if (mp4_CheckBox.isChecked() && book_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_MP4) + "\n"+ getString(R.string.woods_Text_book) + "\n";showString();} else if (musicCD_CheckBox.isChecked()&& book_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_musicCD) + "\n"+ getString(R.string.woods_Text_book) + "\n";showString();}if (mp4_CheckBox.isChecked() && musicCD_CheckBox.isChecked()&& book_CheckBox.isChecked()) {showinfo = getString(R.string.woods_Text_MP4) + "\n"+ getString(R.string.woods_Text_musicCD) + "\n"+ getString(R.string.woods_Text_book) + "\n";showString();}if (mp4_CheckBox.isChecked() == false&& musicCD_CheckBox.isChecked() == false&& book_CheckBox.isChecked() == false) {showyourChoice_TextView.setText("");}}public void showString() {showyourChoice_TextView.setText(showinfo);}};}

300   

   

0 0
原创粉丝点击