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);
                      
                      
                         }
                
                
             }
                
   };
        

 

 

转载于:https://www.cnblogs.com/lucky-star-star/p/3831129.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值