Android.自定义控件的实现
2010-08-20 02:00:00 来源:WEB开发网6、RadioGroup、RadioButton组合控件的实现
上面是自定义控件的实现,下面将要说的是组合控件的实现。在组合控件中,最经常用到的应该就是RadioGroup和RadioButton。 RadioButton的实现已经在上面介绍了。下面要介绍RadioGroup的自定义控件和功能扩展:
代码如下:
public class RadioGroup extends android.widget.RadioGroup {
private String mValue;
public RadioGroup(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RadioGroup(Context context) {
super(context);
}
// 设置子控件的值
public void setChildValue(){
int n = this.getChildCount();
for(int i=0;i< n;i++){
final RadioButton radio = (RadioButton)this.getChildAt(i);
if(radio.getValue().equals(this.mValue)){
radio.setChecked(true);
}else{
radio.setChecked(false);
}
}
}
// 获取子类的值
public void getChildValue(){
int n = this.getChildCount();
for(int i=0;i< n;i++){
RadioButton radio = (RadioButton)this.getChildAt(i);
if(radio.isChecked()){
this.mValue=radio.getValue();
}
}
}
public void setValue(String value) {
this.mValue = value;
setChildValue();
}
public String getValue(){
getChildValue();
return this.mValue;
}
}
RadioGroup只做两件事:获取子控件(RadioButton)所选择的值;设置子控件要选择的值。
方法非常简单,循环或者RadioGroup的子控件,检测哪个控件被checked,然后getValue,将此value赋值给RadioGroup的扩展属性value。在这里不多说了。相信大家都能看懂。
更多精彩
赞助商链接