Die Methode getWindow() ist nicht definiert für den Typ AlertDialog.Generator
Idee entnommen aus Android: Unschärfe-und DIMM-hintergrund von windows-dialog. Ich habe Probleme, den Inhalt immer unter meinem dialog zu verwischen. Bei Aufruf der eula.getWindow() erhalte ich diese Fehlermeldung:
Die Methode getWindow() ist nicht definiert für den Typ AlertDialog.Generator
Die eula angezeigt, die mit diesem bisschen code aus der main activity:
EulaHelper.showEula(false, this);
Jede Hilfe wird sehr geschätzt.
public static void showEula(final boolean accepted, final FragmentActivity activity) {
AlertDialog.Builder eula = new AlertDialog.Builder(activity)
.setTitle(R.string.eula_title)
.setIcon(android.R.drawable.ic_dialog_info)
.setMessage(activity.getString(R.raw.eula))
.setCancelable(accepted);
if (accepted) {
//If they've accepted the EULA allow, show an OK to dismiss.
eula.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
} else {
//If they haven't accepted the EULA allow, show accept/decline buttons and exit on
//decline.
eula
.setPositiveButton(R.string.accept,
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
setAcceptedEula(activity);
dialog.dismiss();
}
})
.setNegativeButton(R.string.decline,
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
activity.finish();
}
});
}
eula.show();
WindowManager.LayoutParams lp = eula.getWindow().getAttributes();
lp.dimAmount = 0.0F;
eula.getWindow().setAttributes(lp);
eula.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
getWindow()
ist eine Methode der dialog-Klasse, die nicht von der dialog-generator. Ihr code sollte eher so Aussehen:Beachten Sie aber, dass die
FLAG_BLUR_BEHIND
konstant ist veraltet jetzt, Unschärfe hinter windows ist nicht mehr unterstützt. Also dein code brechen könnte in der Zukunft.eula
ist der Bauherr, nicht der dialog selbst. Versuchen: