如何在 Android 中选中正确的单选按钮?

How to get the right radio button checked in Android?

我正在处理我的项目,我必须将客户的性别存储在数据库中。我使用单选按钮来获取用户的输入。但无论我做什么,我得到的只有女性数据。我使用了 onCheckChanged 并借助了字符串缓冲区,但它唯一附加的是女性。

 db.execSQL("INSERT INTO students Values('" + EditCustomerID.getText() + "','" + EditCustomerName.getText() + "','" + EditDressID.getText()
                + "','" + EditAddress.getText() + "','" + EditPhoneNumber.getText() + "','"+rb.toString()  +"');");
        showMessage("Success", "Record added");

public void onCheckedChanged(RadioGroup group, int checkedId) {
    if (checkedId==R.id.radioButton1){
        rb.append("Male");
    }
    else{
        rb.append("Female");
    }
}

在 XML 中,我引入了具有以下 ID 的单选按钮,

<RadioGroup
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/radioGroup"
            android:layout_x="150dp"
            android:layout_y="300dp" >
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/male"
                android:id="@+id/radioButton1"
                />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/female"
                android:id="@+id/radioButton2"
                />

        </RadioGroup>

这是我使用光标的地方。

if (c.moveToFirst()) {
            EditCustomerName.setText(c.getString(1));
            EditDressID.setText(c.getString(2));
            EditAddress.setText(c.getString(3));
            EditPhoneNumber.setText(c.getString(4));
            if (radioGroup.getCheckedRadioButtonId()==male.getId()){
                radioGroup.check(R.id.radioButton1);
            }
            else{
                radioGroup.check(R.id.radioButton2);
            }

        } 

我该如何解决这个问题?

我认为问题在于您的光标。我没有看到你从数据库中获得任何关于性别的价值。我假设您是从数据库中设置值,所以它应该是

if (c.getString(5).equals("Male") {
     radioGroup.check(R.id.radioButton1);
} else {
     radioGroup.check(R.id.radioButton2);
}

欢迎评论我的回答,当你提供更多细节/用更多代码编辑你的问题时,我会改进它