Reputation: 23025
Please have a look at the following code
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<RadioGroup
android:id="@+id/save_selection_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignBaseline="@+id/save_txt"
android:layout_toRightOf="@+id/save_txt" >
</RadioGroup>
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/save_txt"
android:layout_alignBottom="@+id/save_txt"
android:layout_toRightOf="@+id/save_selection_group"
android:checked="true"
android:text="SD" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/radio0"
android:layout_alignBottom="@+id/radio0"
android:layout_toRightOf="@+id/radio0"
android:text="Phone" />
<TextView
android:id="@+id/save_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="22dp"
android:paddingTop="5dp"
android:text="@string/save_to" />
<TextView
android:id="@+id/save_name_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_marginTop="50dp"
android:text="@string/save_name" />
<EditText
android:id="@+id/save_name_edt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_txt"
android:layout_alignBaseline="@+id/save_name_txt"
android:layout_marginLeft="15dp"
android:paddingBottom="10dp"
android:ems="8" >
<requestFocus />
</EditText>
<Button
android:id="@+id/save_voice_note_button"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_edt"
android:layout_alignBaseline="@+id/save_name_edt"
android:layout_marginLeft="5dp"
android:text="@string/save" />
</RelativeLayout>
Java code
private class SaveEvent implements OnClickListener
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(VoiceNotes.this);
dialog.setContentView(R.layout.save_dialog);
dialog.setTitle("Save your file");
dialog.show();
final Button saveButton = (Button)dialog.findViewById(R.id.save_voice_note_button);
final RadioGroup saveLocationRadioGroup = (RadioGroup)dialog.findViewById(R.id.save_selection_group);
final String spokenText = voiceEdt.getText().toString();
//Writing the Event handler for the Save button
saveButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int selectedLocationId = saveLocationRadioGroup.getCheckedRadioButtonId();
RadioButton saveLocationRadioButton = (RadioButton)dialog.findViewById(selectedLocationId);
if(saveLocationRadioButton.getText().equals("SD"))
{
}
}
});
}
}
In here, I am able to select both the radio buttons! But you know, that is the purpose of them. One should select! Why is that?
Upvotes: 0
Views: 470
Reputation: 3824
Change your xml like this:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<RadioGroup
android:id="@+id/save_selection_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignBaseline="@+id/save_txt"
android:layout_toRightOf="@+id/save_txt" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/save_txt"
android:layout_alignBottom="@+id/save_txt"
android:layout_toRightOf="@+id/save_selection_group"
android:checked="true"
android:text="SD" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/radio0"
android:layout_alignBottom="@+id/radio0"
android:layout_toRightOf="@+id/radio0"
android:text="Phone" />
</RadioGroup>
<TextView
android:id="@+id/save_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="22dp"
android:paddingTop="5dp"
android:text="savegsdg" />
<TextView
android:id="@+id/save_name_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_marginTop="50dp"
android:text="fdgg" />
<EditText
android:id="@+id/save_name_edt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_txt"
android:layout_alignBaseline="@+id/save_name_txt"
android:layout_marginLeft="15dp"
android:paddingBottom="10dp"
android:ems="8" >
<requestFocus />
</EditText>
<Button
android:id="@+id/save_voice_note_button"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_edt"
android:layout_alignBaseline="@+id/save_name_edt"
android:layout_marginLeft="5dp"
android:text="fdgdfg" />
</RelativeLayout>
Upvotes: 0
Reputation: 11194
Change this code :
<RadioGroup
android:id="@+id/save_selection_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignBaseline="@+id/save_txt"
android:layout_toRightOf="@+id/save_txt" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/save_txt"
android:layout_alignBottom="@+id/save_txt"
android:layout_toRightOf="@+id/save_selection_group"
android:checked="true"
android:text="SD" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/radio0"
android:layout_alignBottom="@+id/radio0"
android:layout_toRightOf="@+id/radio0"
android:text="Phone" />
</RadioGroup>
Upvotes: 0
Reputation: 2604
place your </RadioGroup>
after second radio button. like below,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<RadioGroup
android:id="@+id/save_selection_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignBaseline="@+id/save_txt"
android:layout_toRightOf="@+id/save_txt" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/save_txt"
android:layout_alignBottom="@+id/save_txt"
android:layout_toRightOf="@+id/save_selection_group"
android:checked="true"
android:text="SD" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/radio0"
android:layout_alignBottom="@+id/radio0"
android:layout_toRightOf="@+id/radio0"
android:text="Phone" />
</RadioGroup>
<TextView
android:id="@+id/save_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="22dp"
android:paddingTop="5dp"
android:text="@string/save_to" />
<TextView
android:id="@+id/save_name_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_marginTop="50dp"
android:text="@string/save_name" />
<EditText
android:id="@+id/save_name_edt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_txt"
android:layout_alignBaseline="@+id/save_name_txt"
android:layout_marginLeft="15dp"
android:paddingBottom="10dp"
android:ems="8" >
<requestFocus />
</EditText>
<Button
android:id="@+id/save_voice_note_button"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/save_txt"
android:layout_toRightOf="@+id/save_name_edt"
android:layout_alignBaseline="@+id/save_name_edt"
android:layout_marginLeft="5dp"
android:text="@string/save" />
</RelativeLayout>
Upvotes: 0
Reputation: 9038
You need to add your radiobutton into a RadioGroup
as an example:
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pirates"
android:onClick="onRadioButtonClicked"/>
<RadioButton android:id="@+id/radio_ninjas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ninjas"
android:onClick="onRadioButtonClicked"/>
</RadioGroup>
Upvotes: 2