checkbox单选的状态逻辑,状态好的时候一下就写好了,状态不好的时候要调试比较久,当然主要是对其中的事件不太清楚。

  先给出效果图吧。

  

  然后给出代码,

  

selectZhiFuBaoPay.setOnClickListener(new OnClickListener() {

            @Override
public void onClick(View v) {
if (selectWeiXinPay.isChecked()){
if (selectZhiFuBaoPay.isChecked()){
selectWeiXinPay.setChecked(false);
PAY_MODE = ALIPAY;
} else{
PAY_MODE = TENPAY;
}
} else{
if (selectZhiFuBaoPay.isChecked()){
PAY_MODE = ALIPAY;
} else{
PAY_MODE = "";
}
} }
}); selectWeiXinPay.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
if (selectZhiFuBaoPay.isChecked()){
if (selectWeiXinPay.isChecked()){
selectZhiFuBaoPay.setChecked(false);
PAY_MODE = TENPAY;
} else{
PAY_MODE = ALIPAY;
}
} else{
if (selectWeiXinPay.isChecked()){
PAY_MODE = TENPAY;
} else{
PAY_MODE = "";
}
}
}
});

  checkbox的图片效果变换事件我们放在XML文件里面了,主要是一个button 属性的设置,在drawable里面分别设置点击和未点击的背景图就OK了,这样可以减少代码的判断。

  从debug的结果来,在响应点击事件前,checkbox的check状态首先已经改变了,然后再去执行onClick里面的事件,然后在onClick里面执行setChecked并不会又执行OnClick里面的事件,就是不会执行我们自己写的代码的逻辑。

  这个是互不干连的两个checkbox要建立单选关系,如果是listview里面的checkbox要建立单选关系,考虑用数组列表储存状态信息,每次执行的时候判断里面的状态信息只有一个为true就可以了。

  

多个互相有联系的checkbox的单选逻辑的更多相关文章

  1. checkbox设置单选

    http://blog.sina.com.cn/s/blog_4550f3ca010137td.html $("*")  ‘表示获取所有对象   $("#XXX" ...

  2. [原创]纯JS实现网页中多选复选框checkbox和单选radio的美化效果

    图片素材: 最终效果图: <html><title> 纯JS实现网页中多选复选框checkbox和单选radio的美化效果</title><head>& ...

  3. Android在listview添加checkbox实现单选多选操作问题(转)

    转自:http://yangshen998.iteye.com/blog/1310183 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上 ...

  4. 复选框(checkbox)、单选框(radiobox)的使用

    复选框(checkbox).单选框(radiobox)的使用 复选框: HTML: // 复选框 <input type="checkbox" name="chec ...

  5. checkbox 实现单选效果(html)

    note:在html <input> 标签类中的checkbox实现单选效果. 在最近的开发项目中,客户要求使用小方格子实现“单选”功能,显然圆点的radio被out了,只能选择chckb ...

  6. Android在listview添加checkbox实现单选多选操作问题

    android根据View的不同状态更换不同的背景http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版]h ...

  7. GridView控件中Checkbox实现单选

    在GridView控件中,第0列有放一个CheckBox控件,现想实现对CheckBox进行单选. 先看看效果: 在ASPX页面,可以这样做: 有一点注意的是需要使用OnRowCreated事件. 在 ...

  8. ASP.NET js控制treeview中的checkbox实现单选功能

    ASP.NET js控制treeview中的checkbox实现单选功能 function OnTreeNodeChecked() { var element = window.event.srcEl ...

  9. 完美解决Android在listview添加checkbox实现单选多选操作问题

    在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当 ...

随机推荐

  1. statspack系列2

    Analysing Statspack 2       命中率陷阱 原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspa ...

  2. Datetime中yyyy-MM-dd-hh-mm-ss的格式

    namespace yyyy_MM_dd_hh_mm{    class Program    {        static void Main(string[] args)        { wh ...

  3. 【转】修改eclipse中的M2_REPO变量

    转自:http://superseven.iteye.com/blog/1625429 从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repos ...

  4. 动态规划(DP计数):HDU 5121 Just A Mistake

    As we all know, Matt is an outstanding contestant in ACM-ICPC. Graph problems are his favorite.Once, ...

  5. <转>如何将Chrome变成开发利器,开发者们在用这些插件

    Chrome 浏览器具有强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择.而利用许多 Chrome 插件,开发者们在开发流程中能够极大地提高开发效率.我们就整理了十款开发者常用的 Chr ...

  6. Ignatius and the Princess III

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  7. ubuntu相关软件合集(持续更新中)

    本人使用的是Ubuntu-Kylin14.04,自带了日历.输入法.优客助手等易于上手的应用.省的每次安装完原生的系统再麻烦的安装,下面介绍默认应用外的相关常用软件: 一.Keylock Applic ...

  8. 连续使用两次fread 错误和fread返回值

    今天在写一个代码,要把一帧的buffer读入到文件,因为有NEON和OpenCL两种不同的实现所以需要读取文件两次,代码如下: FILE *file; ; INTER_BLOCK_SIZE_GPU_R ...

  9. 解决sublime联网失败,点击package control后没有反应

    在中国大陆有可能出现这种情况,这是因为国内不支持https访问引起的(再次吐槽万恶的GFW ). 这时只需要"preferences -> package settings -> ...

  10. JVM 字节码执行实例分析

    前言 最近在看<Java 虚拟机规范>和<深入理解JVM虚拟机>,对于字节码的执行有了进一步的了解.字节码就像是汇编语言,是 JVM 的指令集.下面我们先对 JVM 执行引擎做 ...