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); } } };
上一篇:J.U.C FutureTask之源码解析


下一篇:Python-Day3知识点——深浅拷贝、函数基本定义、内置函数