利用XML布局文件动态创建CheckBox

要动态创建CheckBox,一个比较好的考虑是:

单纯考虑设置组件的属性,XML布局文件无疑是最简单的方法。可以在XML布局文件中先配置一个或若干CheckBox,然后以这些配置为模板来动态创建CheckBox对象

这里先 定义一个String 数组,数组元素表示CheckBox的文本,然后根据String数组的元素个数来创建CheckBox对象

步骤如下:

1.  使用getLayoutInflater().inflate()方法来装载main.xml布局文件,并返回一个LinearLayout对象(linearLayout).

2.  使用getLayoutInflater().inflate()方法来装载checkbox.xml布局文件,并返回一个LinearLayout对象(checkboxLinearLayout).

3.  调用checkboxLinearLayout.findViewById()方法来获得CheckBox对象,并根据String数组中的值设置CheckBox的文本。

4.  调用linearLayout.addView()方法将checkboxLinearLayout添加到linearLayout中。

5.  根据String数组的元素重复第2,3,4 步,直到处理完String数组中的最后一个元素为止.

实现效果如图所示:

在onCreate()动态创建CheckBox对象的代码如下:

public void onCreate(Bundle bundle)  {
    super.onCreate(bundle);
    String[]  checkboxText = new String[]{"Android","iPhone","Windows Mobile","Symbian","Meego","BlackBeery","Palm"};
    //装载main.xml文件
   LinearLayout  linearLayout  = (LinearLayout)getLayoutInflater().inflate(R.layout.main,null);
   for(int i=0;i<checkboxText.length;i++)   {
       //装载checkbox.xml文件
       LinearLayout  checkboxLinearLayout =  (LinearLayout) getLayoutInflater().inflate(R.layout.checkbox,null);
       //获得checkbox.xml文件中的CheckBox对象
       checkboxs.add((CheckBox)checkboxLinearLayout.findViewById(R.id.checkbox));
       checkboxs.get(i).setText(checkboxText[i]);      //设置CheckBox的文本
       //将包含  CheckBox  的LinearLayout 对象添加到由主布局文件生成的LinearLayout 对象中
       linearLayout.addView(checkboxLinearLayout,i); 
   }
   setContentView(linearLayout);
   Button button = (Button) findViewById(R.id.button);
   button.setOnClickListener(this);
}

具体代码见  ch05_dynamiccheckbox工程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
书名:《Android编程入门很简单》(清华大学出版社.王勇)。 压缩打包成2部分,这是第1部分。 本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读本书的读者少走弯路,快速上手,从而建立学习Android开发的信心。本书配带1张光盘,收录了重点内容的教学视频(8.7小时多媒体教学视频)和本书涉及的所有源代码。 目录: 第1篇入门必备 第1章初识Android 1.1手机发展简史 1.1.1手机发展的里程碑 1.1.2Android的各个版本 1.2开放手机联盟 1.2.1开放手机联盟的目的 1.2.2分工合作 1.3Android中的个人英雄主义 1.3.1第一届挑战赛冠军介绍 1.3.2第二届挑战赛冠军介绍 1.3.3Androidmarket 1.4Android平台 1.4.1Android体系结构 1.4.2熟悉的开发工具 1.4.3合理的学习曲线 1.5小结 第2章搭建你的开发环境 2.1配置前的准备工作 2.1.1 Android支持的操作系统 2.1.2准备“四大法宝” 2.2安装并配置JDK 2.2.1 安装JDK 2.2.2配置JDK 2.3安装并配置Eclipse 2.3.1 运行Eclipse 2.3.2 了解Eclipse 2.4安装并配置Android SDK 2.4.1 下载Android SDK 2.4.2配置SDK 2.5下载ADT 2.5.1 下载ADT 2.5.2 为Eclipse设置SDK路径 2.6新建模拟器 2.6.1 新建AVD 2.6.2运行模拟器 2.7真机测试 2.7.1安装手机驱动 2.7.2设置手机 2.8 小结 第3章创建第一个程序——helloworld 3.1新建第一个程序 3.1.1新建工程 3.1.2运行程序 3.2认识HelloWodd 3.2.1 首识Android工程 3.2.2认识布局文件 3.2.3认识值文件 3.2.4认识R文件 3.2.5认识注册文件 3.3调试程序 3.3.1 增加断点 3.3.2开始调试 3.3.3单步调试 3.4更多示例程序 3.4.1 导入Samples 3.4.2经典范例 3.5 小结 第4章使用Android工具 4.1使用DDMS 4.1.1 认识DDMS 4.1.2使用进程 4.1.3使用文件浏览器 4.1.4使用模拟器控制 4.1.5 使用日志 4.1.6使用Screen Capture捕捉设备屏幕 4.2 使用Android调试桥 4.2.1使用ADB 4.2.2显示连接到计算机的设备 4.2.3针对特定设备操作 4.2.4启动和停止ADB 4.2.5使用ADB操作文件和apk 4.2.6使用ADB shell 4.3 使用AAPT 4.3.1使用ADT导出签名程序 4.3.2使用命令行生成签名apk文件 4.4小结 第2篇界面开发 第5章探索界面ui元素 5.1认识Android视图、Widget以及布局 5.2必须了解的Widget组件 5.2.1 使用可滚动的文本控件——TextView 5.2.2 TextView中的一些功能 5.2.3 使用可滚动的视图——ScrollView 5.2.4文字的编辑 5.2.5 使用按钮——Button 5.2.6实例——计算器 5.2.7 使用图片按钮——ImageButton 5.2.8 使用复选框——CheckBox 5.2.9实例——请同意本协议 5.2.10 使用单选框——RadioGroup 5.2.11 实例——请选择性别 5.2.12使用下拉列表框——Spinner 5.2.13实例——请选择工作年限 5.2.14实例——动态修改Spinner项 5.2.15 使用进度条——ProgressBar 5.2.16实例——动态修改进度条 5.2.17使用拖动条——SeekBar 5.2.1 8实例——简单使用SeekBar 5.2.19使用图片视图——ImageView 5.2.20实例——ImageView的重叠效果 5.2.21 使用网格视图——GridView 5.2.22实例——通过宫格视图展示相应的应用 5.2.23 使用消息提醒——Toast 5.2.24实例——Toast的4种实现 5.3使用列表视图(ListView&ExpandableListView) 5.3.1 使用列表——ListView 5.3.2通过实例学习列表 5.3.3 使用可扩展列表——EXpalldableListView 5.3.4实例——简单使用ExpandableListView 5.3.5实例——深入使用可扩展列表 5.4使用菜单——Menu 5.4.1 Menu的使用 5.4.2通过实例学习使用Menu 5.5小结 第6章使用程序资源 6.1资源的意义 6.1.1什么是资源 6.1.2怎样存储资源 6.I.3怎样添加资源 6.1.4资源的种类 6.1.5怎样访问资源 6.2使用资源 6.2.1 使用资源管理器 6.2.2使用String资源 6.2.3实例——彩虹和太极 6.2.4使用String数组资源 6.2.5使用Color资源 6.2.6使用Dimension资源 6.2.7使用Drawble资源 6.2.8使用样式 6.2.9使用主题 6.3 小结 第7章设计界面布局 7.1创建界面 7.1.1 使用xml资源创建布局 7.1.2使用代码创建布局 7.2使用布局类 7.2.1使用绝对布局 7.2.2使用线性布局 7.2.3使用框架布局 7.2.4使用表格布局 7.2.5使用关系布局 7.3使用其他布局容器 7.3.1 使用TabActivity 7.3.2 自定义TabHost 7.3.3 使用对话框 7.3.4使用滑动抽屉 7.4 小结 第3篇功能实现 第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇项目案例开发 第13章联系人助手 第14章个人轨迹跟踪器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值