我正在处理我的项目,我必须将客户的性别存储在数据库中。我使用了单选按钮来获取用户的输入。但无论我做什么,只有我得到的数据是女性。我已经使用了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);
}
}
我该如何解决这个问题?
答案 0 :(得分:0)
我认为问题在于你的光标。我没有看到你从数据库中获得有关性别的任何价值。我假设你是从数据库设置值,所以它应该是
if (c.getString(5).equals("Male") {
radioGroup.check(R.id.radioButton1);
} else {
radioGroup.check(R.id.radioButton2);
}
随意评论我的回答,当您提供更多详细信息/使用更多代码等编辑您的问题时,我会改进它。