Sie können einfach weiter den Dialog mit Ihnen bereits haben, nur eine if-Klausel setzen in der onClick() sagen
if(pin_check_method){ //pin_check_method should be a boolean returned method
//close the Dialog, then continue
}
else{
//dont put the dialog.dismiss() in here, put instead
Toast.makeText(getApplicationContext(),"Invalid pin, please try again",Toast.LENGTH_LONG).show();
}
Jetzt, um diesen Code zu verwenden, rufen Sie einfach text.setText (""); und setzen im Text wollen Sie hier häufiger Fehler ist, dass bei der Eingabe in:
TextView text = (TextView) findViewById(R.id.dialog);
Sie vermissen, dass es tatsächlich
dialog.findViewById
und dies ist unabhängig davon, was der Name der muss sein Dialog ist, in meinem Beispiel ist es einfach der gleiche Name.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/text"
android:layout_height="wrap_content"
android:textColor="#FFF"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"/>
<Button android:text="Continue"
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_below="@+id/text">
</Button>
</RelativeLayout>
Ich erinnere mich gerade an meine Funktion zum Erstellen und Anzeigen eines Dialogs, aber es fühlt sich an wie eine Verschwendung von Ressourcen, wenn ich nur den Dialog informieren muss, um sich nicht zu entlassen ... – Dave
Duplikat von http://StackOverflow.com/questions/2620444/how-to-verhindern-a-dialog-from-closing-wenn-eine-taste-ist-geklickt/9523257 – ccpizza