studio - radiobutton android checked
botón de opción sin marcar de Android que ya está marcado (3)
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rg"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.radiogroup.MainActivity" >
<RadioButton
android:id="@+id/rb_true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical" />
<RadioButton
android:id="@+id/rb_false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical" />
</RadioGroup>
Tengo un grupo de radio en el que tengo 2 botones de opción
ahora si el botón de radio 1 está seleccionado y si toco el mismo botón de radio (botón de radio 1), debería ser desmarcado.
debería funcionar como alternar .
Esto debería servir para el propósito.
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup arg0, int id)
{
RadioButton checkedRadioButton = (RadioButton)radioGroup.findViewById(id);
boolean isChecked = checkedRadioButton.isChecked();
if (isChecked)
{
Toast.makeText(getApplicationContext(),
checkedRadioButton.getText(),Toast.LENGTH_LONG).show();
radioButton = (String) checkedRadioButton.getText();
checkedRadioButton.setChecked(false);
}
else
checkedRadioButton.setChecked(true);
}});
Además, no te olvides de iniciar RadioGroup
Use el siguiente método que muestra el botón de radio en el cuadro de alerta programáticamente
Private void SelectLanguageMethod(){
// Strings to Show In Dialog with Radio Buttons
final CharSequence[] items = {"English"," Spanish "};
// Creating and Building the Dialog
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select The Language");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//Your code here
}
});
levelDialog = builder.create();
levelDialog.show();
}
Sí. Es posible que el botón de opción funcione como checkbox
First Declare flags "falso"
private boolean flagmale = false;
private boolean flagfemale = false;
rdbtnMale.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (rdbtnMale.isChecked()) {
if (!flagmale) {
rdbtnMale.setChecked(true);
rdbtnFemale.setChecked(false);
flagmale = true;
flagfemale = false;
} else {
flagmale = false;
rdbtnMale.setChecked(false);
rdbtnFemale.setChecked(false);
}
}
}
});
rdbtnFemale.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (rdbtnFemale.isChecked()) {
if (!flagfemale) {
rdbtnFemale.setChecked(true);
rdbtnMale.setChecked(false);
flagfemale = true;
flagmale = false;
} else {
flagfemale = false;
rdbtnFemale.setChecked(false);
rdbtnMale.setChecked(false);
}
}
}
});
Esto también es posible con una bandera ...