怎么通过RadioGroup来获取radiobutton的值?

怎么通过RadioGroup来获取radiobutton的值?

findviewbyid只能运行在activity中吗?

怎么在另一个类中通过RadioGroup来获取radiobutton的值?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 qq_绿色空间装饰设计中心_0 2017-10-17 10:55:54

public class MyRadioGroupListener implements OnCheckedChangeListener {


@Override

public void onCheckedChanged(RadioGroup rg, int checkedId) {

// 用户点击的时候被触发,判断用户性别

Person person = new Person();


switch (checkedId) {

case R.id.man:

person.setSex("男");

break;

case R.id.woman:

person.setSex("女");

break;


}

System.out.println("性别:" + person.getSex());

}


  • 你可以使用内部类方式解决。
    2017-10-17 11:32:01
  • 将MyRadioGroupListener放到Activity中作为其内部类。
    2017-10-17 11:33:54
irista23 2017-10-17 10:02:12

findViewById() 方法只要你获得了一个View的对象,也可以通过View.findViewById()获得相应元素对象。比如在其他类中,代码如下:

LayoutInflator inflator=getLayoutInflator();
View view=inflator.inflate(R.layout.test,null);
RadioGroup rg=(RadioGroup)view.findViewById(R.id.rdGroup);
//通过RadioGroup来获取radiobutton的点击
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    //RadioButton点击改变的事件,该事件中处理逻辑
    @Override
    public void onCheckedChanged(RadioGroup arg0, int arg1)
    {
        //通过判断点击的RadioButton处理自己的业务逻辑
         switch(arg1)
         {
            case R.id.RadioButton1:
                    ……
             case R.id.RadioButton2:
                     ……
           }
       }
});


  • 我想问的是 如果以下这个监听类被单独分离出来,那怎么通过RadioGroup对象 去获取RadiaoButton的值? 也就是底下代码中的“男”和“女”的RadiaoButton值,怎么通过代码来获取? public class MyRadioGroupListener implements OnCheckedChangeListener { @Override public void onCheckedChanged(RadioGroup rg, int checkedId) { // 用户点击的时候被触发,判断用户性别 Person person = new Person(); switch (checkedId) { case R.id.man: person.setSex("男"); break; case R.id.woman: person.setSex("女"); break; } System.out.println("性别:" + person.getSex()); }
    2017-10-17 10:53:59
  • public class MyRadioGroupListener implements OnCheckedChangeListener { @Override public void onCheckedChanged(RadioGroup rg, int checkedId) { // 用户点击的时候被触发,判断用户性别 Person person = new Person(); switch (checkedId) { case R.id.man: person.setSex("男"); break; case R.id.woman: person.setSex("女"); break; } System.out.println("性别:" + person.getSex()); }
    2017-10-17 10:55:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师