【问题标题】:How to programmatically select RadioButton in an activity如何以编程方式在活动中选择 RadioButton
【发布时间】:2014-01-18 11:35:46
【问题描述】:

在我的项目中,我从数据库中获取性别的值为 0 和 1。
0 代表男性,1 代表女性。
根据这个值,我需要检查 RadioGroup 中对应的 RadioButton。
如果按0,则检查radio0或检查radio1。
我不知道如何根据此字符串值检查单选按钮...
这是我试过的代码:

      String gendd=ViewProfileActivity.participantview.get(4);
      System.out.println("Gender:::::"+gendd);

      male=(RadioButton)findViewById(R.id.radio0);
       female=(RadioButton)findViewById(R.id.radio1);
       if(gendd.equals("0")){

           male.setSelected(true);
           female.setSelected(false);
       }
       else
           {
           male.setSelected(false);

           female.setSelected(true);

           }

但它失败了。谁能帮帮我?

【问题讨论】:

  • 代码看起来不错,你调试过你的代码吗? gendd 的价值是什么?它是否进入了 if 或 else 块?
  • 它的值类似于 0 或 1
  • 重要提示:在字符串比较中使用"0".equals(gendd) 更好,这样第一个字符串将永远不会为空,并且您将来可能会避免不愉快的 NullPointers

标签: android button radio selected


【解决方案1】:

试试这个。

   if(gendd.contains("0"))
    {
       male.setChecked(true);
       female.setChecked(false);
   }
   else
   {
       male.setChecked(false);
       female.setChecked(true);
  }

【讨论】:

    【解决方案2】:

    你应该在父 RadioGroup 上使用check(radioButtonId) 方法。

    例如

    radioGroup.check(gendd.equals("0") ? R.id.radio0 : R.id.radio1);
    

    (假设比较成立,因为没有提到类型)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多