为了账号安全,请及时绑定邮箱和手机立即绑定

设置单选按钮值

设置单选按钮值

PIPIONE 2021-11-17 15:26:50
RadioGroup genderGroup;RadioButton genderType;genderGroup = findViewById(R.id.radioGroup);int id = genderGroup.getCheckedRadioButtonId();genderType = findViewById(id);如何为单选按钮组内的单选按钮设置值。性别类型获得一个值,但我不知道如何将单选按钮设置为选中状态下面的代码是xml文件中使用的代码<RadioGroup        android:id="@+id/radioGroup"        android:layout_width="210dp"        android:layout_height="63dp"        android:layout_alignStart="@+id/editTextUsername"        android:layout_alignTop="@+id/textView6">        <RadioButton            android:id="@+id/radioButtonMale"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="Male" />        <RadioButton            android:id="@+id/radioButtonFemale"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="Female" />    </RadioGroup>我想要做的是保存一个选中的单选按钮,然后更新它或从数据库中检索它并显示它。
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

在您获得RadioButton使用检查的 id后getCheckedRadioButtonId(),您可以将其与 2 个存在进行比较RadioButton并确定哪个是真正检查并保存到数据库:


int genderValue = 0;

if (id == R.id.radioButtonMale){

    genderValue = 0;

}else{

    genderValue = 1;

}


//then you can save genderValue to database


//get value from database

int genderValue = ....; //get from database

if (genderValue == 0){

    radioGroup.check(R.id.radioButtonMale);

}else{

    radioGroup.check(R.id.radioButtonFemale);

}


查看完整回答
反对 回复 2021-11-17
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

你可以switch在这样的事情中使用:


   RadioGroup  mRadioGroup = findViewById(R.id.radioGroup);

   RadioButton mRadioBtnmale =  findViewById(R.id.radioButtonMale);

   RadioButton mRadioBtnfemale =  findViewById(R.id.radioButtonFemale);


   mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

       @Override

       public void onCheckedChanged(RadioGroup group, int checkedId) {

            switch (checkedId){

                  case R.id.radioButtonMale:

                      Toast.makeText(MainActivity.this,"Male selected",Toast.LENGTH_LONG).show();

                break;

                  case R.id.radioButtonFemale:

                      Toast.makeText(MainActivity.this,"FeMale selected",Toast.LENGTH_LONG).show();

            }

       }

   });

如果您想显式设置值,您可以这样做,但是您的逻辑应该决定检查和取消选中哪一个:


   mRadioBtnmale.setChecked(true);

   mRadioBtnmale.setChecked(false);


查看完整回答
反对 回复 2021-11-17
?
MMTTMM

TA贡献1869条经验 获得超4个赞

试试这个代码--- Main.xml


        <RadioGroup

            android:id="@+id/radioSex"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" >


            <RadioButton

                android:id="@+id/radioMale"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:text="@string/radio_male" 

                android:checked="true" />


            <RadioButton

                android:id="@+id/radioFemale"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:text="@string/radio_female" />


        </RadioGroup>

活动.java


        private RadioGroup radioSexGroup;

        private RadioButton radioSexButton;

        private Button btnDisplay;


        @Override

        public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        addListenerOnButton();

        }


        public void addListenerOnButton() {

        radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);

        btnDisplay = (Button) findViewById(R.id.btnDisplay);


        btnDisplay.setOnClickListener(new OnClickListener() {


        @Override

        public void onClick(View v) {

        // get selected radio button from radioGroup

        int selectedId = radioSexGroup.getCheckedRadioButtonId();

        // find the radiobutton by returned id

        radioSexButton = (RadioButton) findViewById(selectedId);


        Toast.makeText(MyAndroidAppActivity.this, radioSexButton.getText(), Toast.LENGTH_SHORT).show();

        }

        });

        }


查看完整回答
反对 回复 2021-11-17
  • 3 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信