实战案例一:

复选框控件使用,实现当用户去点击确定按钮的时候能弹出用户所选择的这个选项

布局文件:main.xml

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/button"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="确定" />

checkbox.xml

android:id="@+id/checkbox"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

程序主要代码:

public class CheckBoxDemo extends Activity implements OnClickListener {

private List checkBoxs = new ArrayList();

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 注释掉 setContentView,也就是说在Oncreate加载xml的时候我们使用动态加载布局的方式

// setContentView(R.layout.main);

String[] checkBoxTest = new String[] {

"你是学生吗?", "是否喜欢Android?", "你喜欢旅游吗?", "打算出国吗?"

};

/*

* 查看android api的Activity 中的 getLayoutInflater()方法 :public LayoutInflater getLayoutInflater ()

* 返回的是 LayoutInflater 这个就是Android中的动态加载布局

* 查看 LayoutInflater,它表示会加载一个布局xml文件到相应的视图对象中,它主要使用inflate()方法来实现的

* public View inflate (int resource, ViewGroup root)

* 它会从指定的xml资源中加载一个新的视图布局,并且填充它的父视图,如果没有父视图的话,root参数设置为null。

*/

LinearLayout linearLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);

//给指定的checkbox赋值

for(int i = 0; i < checkBoxTest.length; i++) {

//先获得checkBox.xml的对象

CheckBox checkBoxLayout = (CheckBox)getLayoutInflater().inflate(R.layout.checkbox, null);

checkBoxs.add(checkBoxLayout);

checkBoxs.get(i).setText(checkBoxTest[i]);

//实现了在main主布局中,通过LinearLayout在for循环中添加checkbox。

linearLayout.addView(checkBoxLayout, i);

setContentView(linearLayout);

Button button = (Button)findViewById(R.id.button);

button.setOnClickListener(this);

}

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//当用户点击按钮的时候,要取出这个布局

String str = "";

for(CheckBox checkBox : checkBoxs){

if(checkBox.isChecked()){

str += checkBox.getText() + "\n";

}

}

if("".equals(str)){

str = "你还没有选中选项!!";

}

//使用一个提示框来显示用户信息

new AlertDialog.Builder(this).setMessage(str).setPositiveButton("关闭", null).show();

}

}

程序Demo执行结果:

android勾选控件_【Android 开发】:UI控件之复选框控件 CheckBox 的使用方法相关推荐

  1. iOS开发UI篇—Date Picker和UITool Bar控件简单介绍

    iOS开发UI篇-Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...

  2. ui项目答辩中学到了什么_我在UI设计9年中学到的12件事

    ui项目答辩中学到了什么 重点 (Top highlight) I know these can seem a bit cliché but I will try to explain everyth ...

  3. php多选筛选,织梦二次开发联动筛选(单选和多选)功能的实现

    织梦dedecms二次开发联动筛选(单选和多选)功能的实现 . 首先我把单选的代码贴出来,这个是我参考其他网站的,多选也是基于这个单选修改的,所以如果要做多选的话,也请先把单选的这些代码配置好. 联动 ...

  4. react动态改变选中不选中_当使用react hooks选中任何复选框时,如何使启用按钮起作用?...

    当选中任何复选框时,我在启用按钮时有一个错误.目前它在第一次点击时不起作用,而只在第二次点击时起作用.取消选中复选框也适用于第一次单击.我认为这与各州有关,但我不太明白是什么导致了这个问题. chec ...

  5. 黑苹果找不到触控板_苹果高管告诉你为何要添加触控板功能

    鉴于美国持续不断的冠状病毒爆发,苹果未能在线下举办发布会,而且大多数媒体也都提前拿不到苹果的设备,所以"上手"就只能交给苹果的高管了. 苹果软件工程高管克雷格·费德里希就制作了一段 ...

  6. android将彩图转为黑白_[Android学习笔记九] Android 开发中图片灰阶(黑白)显示...

    阅读本文之前关于将RGB颜色值转换为灰阶值的计算方法可参见: 灰阶显示图片的典型应用就是用户头像,如用户在线头像显示彩色(原图),不在线显示灰色(黑白图).总结一点就是更加一张原始图片来通过颜色的过滤 ...

  7. android p获取通话记录_[android] 取得最近通话记录的方法

    经过一下午的研究,终于弄明白了android中,关于通话记录取得的方法.下边是自己的一点心得. final Cursor cursor = cr.query(CallLog.Calls.CONTENT ...

  8. android nfc识别身份正_[Android] NFC卡模拟专业版 用手机自带NFC开小区门禁 刷食堂饭卡...

    声明:免费分享,请勿买卖 Card Emulator Pro是一个功能强大且免费的NFC卡模拟器,可模拟各类门禁卡.电梯卡.部分公司工厂工卡或饭卡.部分学校饭卡.部分图书馆借书卡 等各类IC卡,用手机 ...

  9. android 分割字符 指定长度_[Android]TextUtils.ellipsize()截取指定长度字符串(附图文混排)...

    参考:http://zilla.blog.51cto.com/3095640/984775 效果图: 实现代码:// 监听布局变化,直接获取显示的长度 txtDescription.getViewTr ...

  10. react月份选择控件_一款很实用的ReactJS日期范围选择控件

    JavaScript 语言: JaveScriptBabelCoffeeScript 确定 'use strict'; const Heading = ({date, changeMonth, res ...

最新文章

  1. 在C# Express 2005中配置 NUnit
  2. 朋友来网易面试,挂了~
  3. NOIP模拟题——dun
  4. python绘制饼图程序_python使用Matplotlib绘制饼图
  5. mysql的基本数据类型总结_Mysql数据类型的详细总结
  6. ios 点生成线路 百度地图_网站地图全面解析
  7. linux 多块磁盘挂一个文件夹,Linux单目录挂载多块磁盘
  8. Python批量检查网页是否被注入其他页面
  9. MySQL截取SUBSTRING
  10. 基于多模态常规技术的芒果叶片病害识别新模型
  11. 机器学习常见算法个人总结
  12. 破解中兴ZXV10 H108L电信猫超级密码,附赠破解路由限制
  13. 计算机电工电子怎么学,计算机在电子电工课中的应用
  14. 如何在win10上连接苹果无线键盘
  15. 技术分享:用JS实现的3D海浪涌动特效
  16. 清闲的工作与温水煮青蛙;-)
  17. TCP/IP与OSI/RM的区别
  18. 音频隐写 MP3stego+wav隐写+题目
  19. git ls-files:项目文件码数行数统计
  20. PHP打印调用堆栈的三种方法

热门文章

  1. matlab模式识别大作业_史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(二)...
  2. 解压rar_【RAR安卓】RAR解压v5.91.build93去广告版,解压多种压缩包 与WinRAR完美兼容!...
  3. Error running ‘Tomcat x.x.xx‘: Address localhost:xxxx is already in use
  4. 【转】VNode节点
  5. ACM-经典DP之Monkey and Banana——hdu1069
  6. python popular sites
  7. 网易考拉向欧洲市场投入220亿,能掀起多大波澜?
  8. ActiveMQ消息队列
  9. 【转】临界区、互斥对象
  10. JQuery中操作Css样式