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

 

 

posted @ 2014-07-08 11:18  伟大的臭猪猪  阅读(481)  评论(1编辑  收藏  举报