关于extjs中radiogroup选中问题,使用change事件,但是每次单击的时候alert()测试,会出现两次

关于extjs中radiogroup选中问题,使用change事件,但是每次单击的时候alert()测试,会出现两次,第1张

change事件,有下面四个参数,第一个参数,返回的是你点击的那个radio的对象,你可以根据你在各个radio里设置的id,或者itemId来判别是哪个别点到了,然后来判断是不是要进行 *** 作。

单纯设置一个alert,就会像你说的,被check的和被uncheck的,分别触发一次。

ExtformfieldField this,

Object newValue,

Object oldValue,

Object eOpts

增加radiogroup事件,不知是不是你所需要的

{

xtype : 'radiogroup',

fieldLabel : '性别,

id : sex,

columns : 2,

items : [{boxLabel : '男, name :' man', inputValue : 'man',checked : true,},

{boxLabel : '女, name : 'woman', inputValue : 'woman',}

],

//以下是监听事件

listeners : {

change : function(radiofield,oldvalue){//这事件是当radiogroup的值发生改变时进入

alert(radiofieldgetValue());//输出选中的值

alert(oldValue);//输出原值

}

}

}

实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用RadioGroup是单选组合框,可以容纳多个RadioButton的容器在没有RadioGroup的情况下,RadioButton可以全部都选中;当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个。并用setOnCheckedChangeListener来对单选按钮进行监听

01 RadioGroup相关属性:

02

03 RadioGroupgetCheckedRadioButtonId ();--获取选中按钮的id

04

05 RadioGroupclearCheck ();//---清除选中状态

06

07 RadioGroupcheck (int id);//---通过参入选项id来设置该选项为选中状态如果传递-1作为指定的选择标识符来清除单选按钮组的勾选状态,相当于调用clearCheck() *** 作

08

09 setOnCheckedChangeListener (RadioGroupOnCheckedChangeListener listener); //--一个当该单选按钮组中的单选按钮勾选状态发生改变时所要调用的回调函数

10

11 addView (View child, int index, ViewGroupLayoutParams params);//---使用指定的布局参数添加一个子视图

12

13 //参数 child 所要添加的子视图 index 将要添加子视图的位置 params 所要添加的子视图的布局参数

14

15 RadioButtongetText();//获取单选框的值

16

17 //此外,RadioButton的checked属性设置为true,代码里调用RadioButton的check(id)方法,不会触发onCheckedChanged事件

RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

看案例:

1定义布局文件:

01 <xml version="10" encoding="utf-8">

02 <ScrollView xmlns:android=">

RadioButton在做表单的时候经常用到,在安卓开发中,RadioButton需要和RadioGroup一起使用,表示在一组可选项中,只有一

个可以被选中,RadioGroup状态改变的一个监视器OnCheckedChangeListener,RadioGroup使用的时候调用

setOnCheckedChangeListener(),然后重写OnCheckedChangeListener中的

onCheckedChanged()方法,比如:

radioGroupsetOnCheckedChangeListener(new OnCheckedChangeListener(){

 @Override

 public void onCheckedChanged(RadioGroup group, int checkedId) {

 // 获取变更后的选项的ID

 int radioButtonId = groupgetCheckedRadioButtonId();

 switch (radioButtonId) {

 case Ridmessage_radiobtn:

 mFragment = new MessageFragment();

 break;

 case Ridcontact_radiobtn:

 mFragment = new ContactFragment();

 break;

 case Riddynamic_radiobtn:

 mFragment = new DynamicFragment();

 break;

 default:

 break;

 }

 getActivity()getSupportFragmentManager()beginTransaction()

 replace(Ridrealtabcontent, mFragment)commit();

 }

 });

这篇简单写了一个几行代码介绍,实现的效果有点类似QQ底部导航切换,Teachcourse博客:

RadioButton和RadioGroup的关系:1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器2、每个RadioGroup中的RadioButton同时只能有一个被选中3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中4、大部分场合下,一个RadioGroup中至少有2个RadioButton5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置。

1 ((RadioButton)radioGroupgetChildAt(0))setChecked(true);我写的0,你可以根据自己的情况来写。2 布局里面使用android:checkedButton="@+id/radio0"

RadioButton在xml中定义的时候有个checked属性,设置为true就是默认选中了。

RadioButton就是单选框,可以拥有多个选项,但是只能选择一个,且要依附于RadioGroup存在,要对RadioButton实现是否选中的监听的时候通常在RadioGroup对象上setOnCheckedChangeListener,然后通过id来判别那个RadioButton被选中了,当然也有其他的方法实现,不过这种比较简单实用。

以上就是关于关于extjs中radiogroup选中问题,使用change事件,但是每次单击的时候alert()测试,会出现两次全部的内容,包括:关于extjs中radiogroup选中问题,使用change事件,但是每次单击的时候alert()测试,会出现两次、ExtJs的radiogroup被选中的问题、android里RadioGroup的clearCheck()使用方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9705918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存