radioButton添加试题选项webview(二)
由于项目里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(二)的更多相关文章
- 动态添加试题选项按钮 radioButton(一)
最近在做WebView加载试题的功能,但是选项按钮如果放的WebView中,点击时反应很慢.于是把选项用原生的RadioButton,而试题题目和答案放在WebView中.但是选项的个数不确定,所以需 ...
- java面试题—精选30道Java笔试题解答(二)
摘要: java面试题-精选30道Java笔试题解答(二) 19. 下面程序能正常运行吗() public class NULL { public static void haha(){ System ...
- Touch事件or手机卫士面试题整理回答(二)
Touch事件or手机卫士面试题整理回答(二) 自定义控件 1. Touch事件的传递机制 顶级View->父View->子View,不处理逆向返回 OnInterceptTouchEve ...
- 【内核】linux2.6版本内核编译配置选项(二)
目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ...
- 前端面试题总结(二)CSS篇
前端面试题总结(二)CSS篇 一.link和@import的区别? link属于HTML标签,可以引入出css以外的事务,如RSS,而@import是css提供的,只能加载css文件. link会在页 ...
- 【012】JavaSE面试题(十二):多线程(2)
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [012] - JavaSE面试题(十二):多线程(2) 第1问:多线程的创建方式? 方式一:继承 ...
- C++版 - 剑指offer 面试题63:二叉搜索树的第k个结点(二叉树中序遍历的应用) 题解
面试题 63:二叉搜索树的第k个结点 题目:给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 (见下面的图1) 中,按结点数值大小顺序第三个结点的值 ...
- C++版 - 剑指offer 面试题24:二叉搜索树BST的后序遍历序列(的判断) 题解
剑指offer 面试题24:二叉搜索树的后序遍历序列(的判断) 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true.否则返回false.假设输入的数组的任意两个 ...
- 动态添加select选项空选项问题
问题:动态添加校区选项的数据的时候,总是多添加一项空白的数据. 动态添加代码如下: 网上找到的原因:因为在option中有标签没有闭合,所以导致浏览器认为是两个option, 所以只需要给这个标签添加 ...
随机推荐
- 最短路径算法专题2----Dijkstra
这个算法适用于求单源最短路径,从一点出发,到其余个点的最短路径. 算法要点: 1.用二维数组存放点到点的距离-----不能相互到达的点用MAX代替距离 2.用dis数组存放源点到任意其他一点的距离-- ...
- Android Studio的使用(十三)--设置方法分割线
1.只需要在设置中选中show method separators 即可.
- MapReduce常见算法
1.单词计数 2.数据去重 3.排序 4.Top K(求数据中的最大值) 5.选择 6.投影 7.分组 8.多表连接 9.单表关联
- spring MVC之返回JSON数据(Spring3.0 MVC)
方式一:使用ModelAndView的contentType是"application/json" 方式二:返回String的 contentType是&qu ...
- android脚步---简单图片浏览器改变图像透明度
图片浏览器调用ImageView的setAlpha方法来实现改变图片透明度. main.xml文件如下:三个按钮,两个imageview,,界面定义了两个ImageView,一个是显示局部图片的Ima ...
- Mac系统中各个文件夹简单介绍(转)
一.说明: Mac OS X,这是一个基于UNIX核心的系统,增强了系统的稳定性.性能以及响应能力.它能通过对称多处理技术充分发挥双处理器的优势,提供无与伦比的2D.3D和多媒体图形性能以及广泛的字体 ...
- android异步加载AsyncTask
http://blog.csdn.net/abc5382334/article/details/17097633 http://keeponmoving.iteye.com/blog/1515611 ...
- Cron 时间元素
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...
- Client与Server
监听套接字,通讯套接字,初始化网卡,多线程.想查自己的IP,ipconfig 服务端 #include "stdafx.h" #include <WinSock2.h> ...
- SVG页面loading动态图
https://github.com/SamHerbert/SVG-Loaders demo http://samherbert.net/svg-loaders/