Android-Alert-Dialog - so blenden Sie die Schaltfläche OK, nachdem Sie es gedrückt wird
Ich habe die Entwicklung einer Android-app.
Ich würde gerne ausblenden die Schaltfläche OK, nachdem der Benutzer drückt, als das dialog-Fenster bleibt im Vordergrund für einige Sekunden, während eine Berechnung stattfindet.
Dies ist der code:
new AlertDialog.Builder(this)
.setMessage("This may take a while")
.setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//hide the OK button - how?
//a lot of computation
}
})
.show();
Wie kann ich das erreichen?
P. S.: ich bin nicht interessant, mehr fortgeschrittene Techniken, um zu behandeln eine Berechnung (wie: progress-Dialoge, multi-threading).
Dank.
- Wenn Sie beabsichtigen, tun eine lang andauernde Berechnung auf der UI-thread, bereiten Sie für Ihre Benutzer geben Sie viel negatives feedback, wenn die app Trigger, die Anwendung reagiert nicht Fehler.
- Um zu verhindern, "Anwendung reagiert nicht" - Fehler, führen Sie Ihre Berechnung in einem
AsyncTask
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AsyncTask
mitProgressDialog
. AsyncTask ermöglicht es zu laufen, lange Berechnungen, die auf einem hintergrund-thread, so dass Ihr Haupt-UI-thread nicht blockiert ist und somit die app nicht mehr ANR..setEnabled( false )
Es ist weniger schrill für den Benutzer. Auch, sicherlich mit einAlertDialog
innerhalb vonASyncTask
statt nur eineAlertDialog
.wo
dialog
istDialogInterface
.Können Sie die Sichtbarkeit der Schaltfläche unsichtbar.