【Android每日一讲】2012.11.26 消费券采购列表 - 多选项CheckBox的应用

【Android每日一讲】2012.11.27 向左或向右 - RadioGroup组与onCheckedChanged事件 1. 范例说明 今天介绍RadioGroup的组事件。RadioGroup可将各自不同的RadioButton设限于同一个Radio按钮组,同属于一个RadioGroup组里的按钮,只能做出单一选择(单选题)。该范例首先设计一个TextView Widget,以及一个RadioGroup,并于该RadioGroup内放置两个RadioButton,默认为都不选择,在程序运行阶段,利用 阅读详情

1. 范例说明

  • 这个范例要示范的是CheckBox.setOnCheckedChangeListener,在程序设计3个CheckBox核取项,分别表示3种物品列表,当User勾选其中一个物品,就在TextView里显示已选择的物品列表。
  • 程序关键在于同时监听3个CheckBox.OnCheckedChangeListener的状态,并在CheckBox.onChecked()方法中,重组所有被勾选的物品文字。

2. 运行结果


3. 编写代码

/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		/* 透过findViewById取得TextView对象并调整文字内容 */
		mTextView1 = (TextView) findViewById(R.id.myTextView1);
		mTextView1.setText("你所选择的项目有: ");
		/* 透过findViewById取得三个CheckBox对象 */
		mCheckBox1 = (CheckBox) findViewById(R.id.myCheckBox1);
		mCheckBox2 = (CheckBox) findViewById(R.id.myCheckBox2);
		mCheckBox3 = (CheckBox) findViewById(R.id.myCheckBox3);
		/* 设定OnCheckedChangeListener给三个CheckBox对象 */
		mCheckBox1.setOnCheckedChangeListener(mCheckBoxChanged);
		mCheckBox2.setOnCheckedChangeListener(mCheckBoxChanged);
		mCheckBox3.setOnCheckedChangeListener(mCheckBoxChanged);
	}

	/* 声明并建构onCheckedChangeListener对象 */
	private CheckBox.OnCheckedChangeListener mCheckBoxChanged = new CheckBox.OnCheckedChangeListener() {
		/* implement onCheckedChanged方法 */
		@Override
		public void onCheckedChanged(CompoundButton buttonView,
				boolean isChecked) {
			// TODO Auto-generated method stub
			/* 透过getString()取得CheckBox的文字字符串 */
			String str0 = "所选的项目为: ";
			String str1 = getString(R.string.str_checkbox1);
			String str2 = getString(R.string.str_checkbox2);
			String str3 = getString(R.string.str_checkbox3);
			String plus = ";";
			String result = "但是超过预算啰!!";
			String result2 = "还可以再多买几本喔!!";
			/* 任一CheckBox被勾选后,该CheckBox的文字会改变TextView的文字内容 * 三个对象总共八种情境 */
			if (mCheckBox1.isChecked() == true & mCheckBox2.isChecked() == true
					& mCheckBox3.isChecked() == true) {
				mTextView1.setText(str0 + str1 + plus + str2 + plus + str3
						+ result);
			} else if (mCheckBox1.isChecked() == false
					& mCheckBox2.isChecked() == true
					& mCheckBox3.isChecked() == true) {
				mTextView1.setText(str0 + str2 + plus + str3 + result);
			} else if (mCheckBox1.isChecked() == true
					& mCheckBox2.isChecked() == false
					& mCheckBox3.isChecked() == true) {
				mTextView1.setText(str0 + str1 + plus + str3 + result);
			} else if (mCheckBox1.isChecked() == true
					& mCheckBox2.isChecked() == true
					& mCheckBox3.isChecked() == false) {
				mTextView1.setText(str0 + str1 + plus + str2 + result);
			} else if (mCheckBox1.isChecked() == false
					& mCheckBox2.isChecked() == false
					& mCheckBox3.isChecked() == true) {
				mTextView1.setText(str0 + str3 + plus + result2);
			} else if (mCheckBox1.isChecked() == false
					& mCheckBox2.isChecked() == true
					& mCheckBox3.isChecked() == false) {
				mTextView1.setText(str0 + str2);
			} else if (mCheckBox1.isChecked() == true
					& mCheckBox2.isChecked() == false
					& mCheckBox3.isChecked() == false) {
				mTextView1.setText(str0 + str1);
			} else if (mCheckBox1.isChecked() == false
					& mCheckBox2.isChecked() == false
					& mCheckBox3.isChecked() == false) {
				mTextView1.setText(str0);
			}
		}
	};

4. 扩展学习与作业

AndroidUI 设计CheckBox复选框用法

http://www.eyeandroid.com/thread-10159-1-1.html

作业:请简化Demo中的onCheckedChanged方法


5.视频讲解
http://www.eyeandroid.com/thread-10704-1-1.html
Google Earth Engine——使用STARFM 图像融合算法将Landsat 和 MODIS 融合得出2000-2023 NDVI长时序图(空间分辨率为 30 米、时间分辨率为 16 天) 非本地入侵物种是全球生态系统面临的主要威胁之一。野葛(Pueraria montana)是一种生长迅速的藤本植物,原产于亚洲,现已入侵美国一些地区,因此该物种的管理成为一个重要问题。利用 Landsat 和 MODIS 平台收集的数据,计算了 2000 年至 2015 年肯塔基州三个侵扰地点的归一化差异植被指数(NDVI)估算值。使用 STARFM 图像融合算法将大地遥感卫星和 MODIS 得出的 NDVI 结合成空间分辨率为 30 米、时间分辨率为 16 天的时间序列。 阅读详情

相关推荐

ELK - CentOS7 安装 elasticsearch 7.17.5

elk elasticsearch 安装

qq_19783793的博客 1462

android--消费券采购列表实例

多选项CheckBox的应用范例说明<br />你使用过消费券吗?总额度只有3600元的消费券,虽然活动已经宣告结束,但也可以当成一个限制使用额度的范例示范。这个范例程序要示范的是CheckBox.setOnCheckedChangeListener,在程序中设计3个CheckBox核取项,分别表示三种物品列表,当User勾选其中一个物品,就在TextView里显示已选择的物品列表。<br />程序的关键在同时监听3个CheckBox.OnCheckedChangeListener的状态,并在CheckBo

zeng622peng的专栏 1365

Python爬虫实战:如何优雅地处理BOSS直聘的反爬机制与Cookie失效问题

本文详细介绍了如何通过Python爬虫技术优雅应对BOSS直聘的反爬机制与Cookie失效问题。从多账号轮换、动态请求头生成到代理IP管理,提供了一套完整的解决方案,帮助开发者构建稳定高效的数据采集系统,有效提升爬虫成功率与数据质量。

weixin_30733003的博客 1563

安卓自定义控件卡券CouponView

package com.example.couponview; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; im

wubolin的博客 1494

C# 进阶:打造WinForms中的动态交互式UserControl

本文深入探讨了如何在C# WinForms中创建动态交互式UserControl,以提升桌面应用的用户体验和代码复用性。通过剖析UserControl生命周期、事件体系,并结合一个可拖拽缩放的分割面板实战案例,详细讲解了鼠标键盘事件处理、自定义绘制、状态管理以及性能优化等核心技巧,帮助开发者封装复杂交互逻辑,打造专业级自定义控件。

weixin_29279153的博客 462

Android 仿淘宝京东等我的订单界面及任意列表拓展

概述目前像淘宝及展示列表等都有多个item展示的需求,可能大多数如果没做过,第一眼就是ListView去嵌套ListView,虽然这样是可以完成,但是这样做会导致手机过度绘制,为什么呢?因为当一个Item加载的时候又会去更新item里面的adapter,apapter又会去更新自己的item,这样就会导致加载一条x*n耗时. 解决思路当我遇到这样的问题时候,其实我们可以把整个List,当做一个Li

Tanck的专栏 2万+

RecycleView+CardView实现卡片式列表(附带Item回调监听)

自从Google的Material Design风格的出现,一直都Android开发程序员的追捧,我也比例外,没事也喜欢研究研究Google的这种设计,没事喜欢写点Demo测试一下效果,今天给大家带来的是RecycleView和CardView结合使用实现的卡片式列表布局,其中回调封装了RecycleView的Item的点击事件。 大家都知道,RecyclerView注重的不是布局,而是回收与复

Anonymous 7045

【故障排查】telnet连接失败:端口23不可达的深度分析与解决方案

本文深度解析telnet连接失败时端口23不可达的常见原因与解决方案。从快速自查目标地址、端口到服务端排查,涵盖服务状态检查、防火墙配置及安全组设置,并提供进阶诊断工具与抓包分析方法。文章强调telnet协议的安全风险,建议在生产环境中改用SSH等加密协议进行远程管理。

weixin_28323057的博客 396

【Agent从入门到实践】01 从“工具函数”到“智能体”:Agent与传统程序的核心区别

传统程序是“你教它怎么做,它才做什么”,Agent是“你告诉它做什么,它自己想怎么做”。从技术层面来说,这个区别的背后,是Agent融合了大语言模型(LLM)、记忆能力、工具调用能力、决策能力等技术,才实现了“自主思考”和“灵活执行”,而这些技术,咱们会在后面的章节中一步步拆解,手把手教大家实现。

人工智能AI技术 989

Android开发中常见的优惠券样式实现和需要注意的细节

效果图 主要是中间的两个半圆和虚线的实现,其他都比较简单。但是其中也会涉及到一些细节性的东西,后面讲。 item布局 整体分为三部分:左边、中间、右边,即以虚线为分割。 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;android.support.v7.widget.CardView xmlns:android="ht...

yechaoa 3461

YOLO26 旋转框检测 OBB 技术:角度预测与解码优化

YOLO26旋转框检测技术通过CSL角度编码有效解决了OBB检测中的周期性问题。该技术采用5参数表示法(cx,cy,w,h,θ),在检测头中分别处理分类、回归和角度预测。核心创新点包括:1)使用高斯或三角窗口的CSL编码对角度进行平滑表示;2)通过加权平均解码角度,避免边界不连续问题。该方法在遥感、文本检测等需要精确方向信息的场景中表现优异,相比传统HBB框可提升定位精度30%以上,同时保持了YOLO系列的高效特性。

一键难忘的博客 527

【Android每日一讲】2012.11.26 消费券采购列表

1. 范例说明   这个范例要示范的是CheckBox.setOnCheckedChangeListener,在程序设计3个CheckBox核取项,分别表示3种物品列表,当User勾选其中一个物品,就在TextView里显示已选择的物品列表。 程序关键在于同时监听3个CheckBox.OnCheckedChangeListener的状态,并在CheckBox.onCheck

萌萌的It人 www.itmmd.com 827

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【Android您问我讲】带左右滑动的选项卡 - ViewPager与Tabhost的结合使用

1. 范例说明 ViewPager实现滑动切换的效果,但是切换的几个页面只是调用了不同的layout,实际上还是在一个Activity里面,对功能编写就不方便了。所以,采用TabHost和ViewPager结合,使用TabHost切换Activity,使用ViewPager切换界面,从而完善切换效果原理就是把tabhost里原有的的tabcontent隐藏掉,加一个viewpager

1864

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《Android 每日一讲》之 2012.10.26 置换文字颜色的机关 -- Button与TextView的交互

1. 范例说明 在学会了一系列与TextView文字相关的范例与简单的按钮事件后,现在让我们把这两个对象做一个简单的整合。本范例将通过按钮的setOnClickListener与onClick方法的方式,在单击按钮后,触发setTextColor方法来变换文字颜色,但仅是变换颜色显得太无趣,所以在此创建一个自定义的颜色数组(mColors),单击按钮时,会根据数组元素的索引值的递增变

1600

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《Android 每日一讲》之 2012.10.29 控制不同的文字字体 -- Typeface对象使用

1.范例说明 除了文字颜色以外,与文字对象息息相关的文字大小(size)及字体(font)是整个TextView文字实例的最后一站,这里将延续前一个范例的做法,通过按钮对象的Button.onClickListener来处理改变TextView的字体大小与字体。本范例将设计两个按钮:第一个控制TextView的字体,第二个控制字体大小,这里会特别解说如果是通过外部资源assets,引

1365

【Android每日一讲】2012.11.12 设计具有背景图的按钮 - ImageButton的焦点及事件处理

1. 范例说明 ImageButton是有背景图片的按钮,要设置ImageButton背景图有许多方法,此程序使用的方法是ImageButton.setImageResource(),需要传递的参数是res/drawable下面的ResourceID。除了设置背景图片的方法外,程序需要使用onFocusChange与onClick等作为按钮事件单击后的处理,最后通过TextView来

1280

【Android您问我讲】Android 2.x中使用actionbar - Actionbarsherlock的使用

1. 范例说明 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能。之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着Android 4.0和Android 4.2 的发布和慢慢的推广开来,很多应用也开始使用Google推广的UI设计,而ActionBar是其中相当重要的一部分。无奈google

1262

【Android您问我讲】超炫的左右滑动效果 - ViewPager的使用

1. 范例说明 •android-support-v4.jar,这是谷歌官方给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android 3.0以上可以使用的api。而ViewPager就是其中之一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等。 •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。 •本Demo向大

1204

Android学习进阶路线Android源码分享)

毕业8月有余,同时伴随着从事的Android经验的提升。仔细思量过去的工作内容,掐指算来也是少得可怜---主要维护FM收 音机模块,间或看看Lancher模块的代码。尽管这样,总的来说,在这八个月事件的学习里,我自我感觉收获还是很大的---自学了很多 Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,自己也会坚持学习、坚持走下去。            再次,把自己学习

1198

【Android每日一讲】2012.11.09 EditText与TextView共舞 - setOnKeyListener事件

1. 范例说明 EditText Widget设计的初衷是为了等待User输入而准备的,那么在User输入的同时,又该如何拦截所输入的文字呢?Android的多数Widget都有setOnKeyListener事件,通过Listener捕捉User的键盘事件。本范例将以EditText与TextView示范如何在捕捉User键盘输入文字的同时实时取得文字,同步显示于TextView。

1197

【Android每日一讲】2012.11.01 程序加载中,请稍后 - ProgressDialog 与线程整合应用

1. 范例说明 常看见Windows窗口程序里或Flash程序的“加载中”对话框,在Android里,则是通过ProgressDialog来运行,这个类封装在Android.app.ProgressDialog里。该范例将设计一个按钮,在单击按钮之后开始线程的周期,在运行的过程中显示ProgressDialog,最后当线程运行完毕时,选择结束ProgressDialog对话窗口。

1131

【Android每日一讲】2012.10.30 自制计算器 - 多按钮的整合应用

1. 范例说明 在之前我们学会了Android按钮事件的设计,接下来的范例将利用简单的按钮组合制作一个简单的计算器。这个范例中,除了要活用按钮的组合外,也示范如何利用不同的按钮事件处理与TextView之间的文字变化,尤其是事件彼此不同,连带处理的结果也不同。 2. 运行结果 3. 编写代码 @Override public void onCreate(B

1102

【Android每日一讲】2012.11.29 自定义下拉菜单模式 - Spinner与setDropDownViewResource

1. 范例说明 Spinner就是下拉菜单,由于手机画面有限,要在有限的范围选择项目,下拉菜单是唯一、较好的选择。本范例的示范重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样,除此之外本范例还设计了一段动画,当User以触控的方式单击这个自定义的Spinner时,会以一段动画提示User。

1093
上一篇: [Android Samples视频系列之ApiDemos] App-Activity-Redirection
下一篇: [Android Training视频系列]1.3 Building a Simple User Interface
cofftech
博客等级 码龄16年 46粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值