由于项目里radioGroup里,4个选项里加载的是webview,而不是radiobutton本身自己可设置的text类型,并且每个webview都需要和radiobutton对齐,所以这个布局有点费劲。。。

起初想的是,radiogroup包括着4个水平布局的linearlayout,每个linearlayout包括着radiobutton和webview,布局展示上没有问题,结果运行出来,单选的题竟然可以变成多选,radiobutton不再对这4个radiobutton起管理作用了,网上查资料,原来raidogroup和radiobutton中间不能嵌套别的layout,否则就失去单选作用了。

解决:   自定义了个radioGroup,用4个水平布局的linearlayout,每个layout放一个button和webview,然后为这4个button绑定相同的监听器,代码如下:

private Button rbA;
private Button rbB;
private Button rbC;
private Button rbD; rbA.setOnClickListener(selectChangedListener);
rbB.setOnClickListener(selectChangedListener);
rbC.setOnClickListener(selectChangedListener);
rbD.setOnClickListener(selectChangedListener); //单选题按钮监听
OnClickListener selectChangedListener=new View.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub isSelected = true;
if(v.getId()==rbA.getId()){ rbB.setEnabled(false);
rbC.setEnabled(false);
rbD.setEnabled(false);
}else if(v==rbB){ rbA.setEnabled(false);
rbC.setEnabled(false);
rbD.setEnabled(false);
}else if(v==rbC){ rbA.setEnabled(false);
rbB.setEnabled(false);
rbD.setEnabled(false);
} else if(v==rbD){ rbA.setEnabled(false);
rbB.setEnabled(false);
rbC.setEnabled(false);
} if(("<p>"+((Button) v).getText().toString()+"</p>").equals(subject[GPUtils.subjectLoaded-1][8])) { textViewSelectResult.setText("恭喜你,答对了!");
linearSelectResult.setVisibility(View.VISIBLE); GPUtils.wellDone+=1; }else { textViewSelectResult.setText("很遗憾,答错了!");
linearSelectResult.setVisibility(View.VISIBLE); } } };

radioButton添加试题选项webview(二)的更多相关文章

  1. 动态添加试题选项按钮 radioButton(一)

    最近在做WebView加载试题的功能,但是选项按钮如果放的WebView中,点击时反应很慢.于是把选项用原生的RadioButton,而试题题目和答案放在WebView中.但是选项的个数不确定,所以需 ...

  2. java面试题—精选30道Java笔试题解答(二)

    摘要: java面试题-精选30道Java笔试题解答(二) 19. 下面程序能正常运行吗() public class NULL { public static void haha(){ System ...

  3. Touch事件or手机卫士面试题整理回答(二)

    Touch事件or手机卫士面试题整理回答(二) 自定义控件 1. Touch事件的传递机制 顶级View->父View->子View,不处理逆向返回 OnInterceptTouchEve ...

  4. 【内核】linux2.6版本内核编译配置选项(二)

    目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ...

  5. 前端面试题总结(二)CSS篇

    前端面试题总结(二)CSS篇 一.link和@import的区别? link属于HTML标签,可以引入出css以外的事务,如RSS,而@import是css提供的,只能加载css文件. link会在页 ...

  6. 【012】JavaSE面试题(十二):多线程(2)

    第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [012] - JavaSE面试题(十二):多线程(2) 第1问:多线程的创建方式? 方式一:继承 ...

  7. C++版 - 剑指offer 面试题63:二叉搜索树的第k个结点(二叉树中序遍历的应用) 题解

    面试题 63:二叉搜索树的第k个结点 题目:给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 (见下面的图1) 中,按结点数值大小顺序第三个结点的值 ...

  8. C++版 - 剑指offer 面试题24:二叉搜索树BST的后序遍历序列(的判断) 题解

    剑指offer 面试题24:二叉搜索树的后序遍历序列(的判断) 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true.否则返回false.假设输入的数组的任意两个 ...

  9. 动态添加select选项空选项问题

    问题:动态添加校区选项的数据的时候,总是多添加一项空白的数据. 动态添加代码如下: 网上找到的原因:因为在option中有标签没有闭合,所以导致浏览器认为是两个option, 所以只需要给这个标签添加 ...

随机推荐

  1. 最短路径算法专题2----Dijkstra

    这个算法适用于求单源最短路径,从一点出发,到其余个点的最短路径. 算法要点: 1.用二维数组存放点到点的距离-----不能相互到达的点用MAX代替距离 2.用dis数组存放源点到任意其他一点的距离-- ...

  2. Android Studio的使用(十三)--设置方法分割线

    1.只需要在设置中选中show method separators 即可.

  3. MapReduce常见算法

    1.单词计数 2.数据去重 3.排序 4.Top K(求数据中的最大值) 5.选择 6.投影 7.分组 8.多表连接 9.单表关联

  4. spring MVC之返回JSON数据(Spring3.0 MVC)

    方式一:使用ModelAndView的contentType是"application/json" 方式二:返回String的            contentType是&qu ...

  5. android脚步---简单图片浏览器改变图像透明度

    图片浏览器调用ImageView的setAlpha方法来实现改变图片透明度. main.xml文件如下:三个按钮,两个imageview,,界面定义了两个ImageView,一个是显示局部图片的Ima ...

  6. Mac系统中各个文件夹简单介绍(转)

    一.说明: Mac OS X,这是一个基于UNIX核心的系统,增强了系统的稳定性.性能以及响应能力.它能通过对称多处理技术充分发挥双处理器的优势,提供无与伦比的2D.3D和多媒体图形性能以及广泛的字体 ...

  7. android异步加载AsyncTask

    http://blog.csdn.net/abc5382334/article/details/17097633 http://keeponmoving.iteye.com/blog/1515611 ...

  8. Cron 时间元素

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  9. Client与Server

    监听套接字,通讯套接字,初始化网卡,多线程.想查自己的IP,ipconfig 服务端 #include "stdafx.h" #include <WinSock2.h> ...

  10. SVG页面loading动态图

    https://github.com/SamHerbert/SVG-Loaders demo http://samherbert.net/svg-loaders/