Ich habe einen Alarmdialog, der eine benutzerdefinierte Ansicht mit zwei Optionsfeldern in einer RadioGroup
enthält. Jetzt, wenn ich OnCheckChangedListener
auf diesem RadioGroup
durch Aufblasen der benutzerdefinierten Ansicht festlegen, wird es nicht ausgelöst. Es wird auch kein Fehlerprotokoll angezeigt.Kann OnCheck nicht auslösen Geänderte Evet of RadioGroup im Alarmdialog mit benutzerdefinierter Ansicht
Ich habe diesen Beitrag gefolgt, bevor hier fragen: Link
Nach meinem Code für Alarm-Dialog ist.
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this, R.style.AlertDialogStyle);
alt_bld.setTitle("Select Date");
alt_bld.setView(R.layout.alert_dialog_radiogroup);
//here I'm setting listener.
try{
final View view = View.inflate(addAlarm.this, R.layout.alert_dialog_radiogroup, null);
radioGroup = (RadioGroup)view.findViewById(R.id.radio);
radioGroup.clearCheck();
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
//My code to handle checked radio button.
}
});
} catch (Exception e){
e.printStackTrace();
}
//setting +ve and -ve buttons here.
...
AlertDialog alert = alt_bld.create();
alert.show();
Und das ist meine benutzerdefinierte Ansicht für Alarmdialog.
alert_dialog_radiogroup.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100sp" >
<RadioGroup
android:layout_width="match_parent"
android:id="@+id/radio"
android:layout_marginTop="10sp"
android:layout_marginStart="25sp"
android:layout_marginBottom="15sp"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/track_everyday"
android:textColor="@color/colorPrimaryText"
android:layout_width="wrap_content"
android:buttonTint="@color/colorAccent"
android:layout_height="wrap_content"
android:text="@string/everyday" />
<RadioButton
android:id="@+id/custom_track"
android:layout_marginTop="8sp"
android:textColor="@color/colorPrimaryText"
android:layout_width="wrap_content"
android:buttonTint="@color/colorAccent"
android:layout_height="wrap_content"
android:layout_below="@+id/rd"
android:text="@string/custom" />
</RadioGroup>
Ich habe, bevor er fragte hier, um dieses Problem gesucht. In einigen Posts ist die Antwort das Löschen des Häkchens von allen Optionsfeldern vor dem Einstellen des Listeners. Ich habe dies von radioGroup.clearCheck();
versucht, aber nicht funktioniert.
Also was fehlt mir hier? Danke für die Hilfe.
Versuchen Sie, die aufgeblähte Ansicht in der Methode alertBuilder.setView (View) zu übergeben, nachdem Sie den Listener implementiert haben. –
danke. schreibe es als Antwort mit Grund und ich werde es akzeptieren. @sarthakGandhi – Kaushal28
@Pavneet_Singh Ich denke, es wird nicht funktionieren. Ich habe es vorher versucht. – Kaushal28