ich ein AlertDialog
in Android Studio haben, wie unten gezeigt:Alertdialog nicht in Android Studio Anzeigen
final EditText columninput = new EditText(this);
columninput.setInputType(InputType.TYPE_CLASS_NUMBER);
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle("Choose column number");
adb.setView(columninput);
adb.setMessage("Please specify the number of columns you would like to decrypt your message with.");
adb.setCancelable(true);
adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean bool = true;
try {
col = Integer.parseInt(columninput.getText().toString());
}
catch (Exception e) {
bool = false;
Toast t = Toast.makeText(getApplicationContext(), "Incorrect input", Toast.LENGTH_LONG);
t.show();
}
if (bool) {
dialog.dismiss();
}
}
});
adb.show();
method1(toRead, col);
Beachten Sie, dass toRead
eine weitere Variable mit außerhalb dieses Kontexts behandelt ist; Es sollte keine Fehler verursachen. Wenn ich meine Anwendung ausführe, wird AlertDialog
nie angezeigt und method1
wird sofort ausgeführt. Wenn ich jedoch die letzte Zeile (method1(toRead, col)
) auskommentiere, wird der Alertdialog angezeigt, wenn die Anwendung ausgeführt wird. Warum ist das und wie kann ich sicherstellen, dass der alertDialog immer angezeigt wird?
gut .... dann poste method1 bitte ... – Opiatefuchs
, um herauszufinden, buchen Sie den Code von 'method1()' Beachten Sie auch, dass wenn Sie einen Dialog anzeigen und ein Ergebnis aus dem Dialog erhalten möchten, um ihn in einer anderen Methode zu verwenden, können Sie dies nicht tun, indem Sie die Dialog-Schaltfläche zum Aufruf verwenden Entweder ein Rückruf im Elternteil oder Aufruf von method1() selbst. – Yazan
Ich würde method1() posten, aber es ist sehr lang (über 300 Zeilen Code!). Ich habe es jedoch selbst getestet, und ich bin ziemlich sicher, dass es nicht die Quelle irgendeines Fehlers sein sollte ... – Eragon20