2012-11-19 81 views
0

我有一個收音機組,有2個選項,分別是男性和女性。 我想將RadioButton Male保存爲int數字「1」,女性保存爲我的數據庫中的「2」。 但我真的不知道如何實現它。 如果有人可以在這個問題上啓發我嗎? 預先感謝您。如何將單選按鈕文本更改爲int?

<RadioGroup 
    android:id="@+id/radio_sex" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/email_address" 
    android:layout_alignTop="@+id/textView5" 
    android:orientation="vertical" > 

    <RadioButton 
     android:id="@+id/radio_male" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Male" /> 

    <RadioButton 
     android:id="@+id/radio_female" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Female" /> 
</RadioGroup> 
+0

你有沒有考慮取的單選按鈕的索引你RadioGroup中?如果沒有,也許你需要看到這個[問題](http://stackoverflow.com/questions/6440259/how-to-get-the-selected-index-of-a-radiogroup-in-android)。 –

+0

感謝Lokesh Mehra,我在這個問題中得到了一些非常有用的信息。 –

回答

3
RadioGroup rg = (RadioGroup) findViewById(R.id.radio_sex); 
int selected = rg.getCheckedRadioButtonId(); 
RadioButton rb = (RadioButton) findViewById(selected); 
if(rb.getText().equals("Male"){ 
    //save to db number one 
}else{ 
    //save number two 
} 
2

爲單選男性爲1設置標籤和女性爲2

<RadioButton 
    android:id="@+id/radio_male" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:tag="1" 
    android:text="Male" /> 

<RadioButton 
    android:id="@+id/radio_female" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:tag="2" 
    android:text="Female" /> 

然後上選中了變化,得到了選定的單選按鈕的標籤,並投它爲int,然後保存到數據庫。

setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      int value=Integer.parseInt(findViewById(checkedId).getTag().toString()); 
     } 
    }); 
+0

我已經設法解決了我的問題,但仍然感謝您的答案。這給了我一個可以用來解決我的問題的替代方法。 –

2
<RadioGroup 
    android:id="@+id/radio_sex" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/email_address" 
    android:layout_alignTop="@+id/textView5" 
    android:orientation="vertical" > 

    <RadioButton 
     android:id="@+id/radio_male" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Male" /> 

    <RadioButton 
     android:id="@+id/radio_female" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Female" /> 
</RadioGroup> 

現在在你的java文件檢查要麼單選按鈕

int maleFemaleVar = (radio_male.isChecked() ? 1 : 2); 

現在這個新maleFemaleVar保存到數據庫

相關問題