2017-04-12 7 views
0

In meiner App möchte ich ein "sticky", das ist immer an der Spitze und nicht zu entlassen, sobald ich versehentlich auf die Hintergrundansicht tippen, AlertDialog. Nach den Reaktionen auf verschiedene ähnliche Fragen in Stack-Überlauf kam ich mit, dass bis:sticky AlertDialog in android

final AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    // .. 
    AlertDialog alert_dialog = alert.create(); 
    alert_dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); 
    alert_dialog.show(); 

und fügte hinzu, das meinem Manifest-Datei (sonst die App abstürzen würde):

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

Dennoch kann ich bekomme den gewünschten Effekt nicht. Der Dialog wird immer geschlossen, wenn ich auf die Hintergrundansicht tippe. Mache ich etwas falsch?

+1

Versuchen zeigen, verwenden 'alert_dialog.setCanceledOnTouchOutside (false);' – Piyush

+0

@Marinos versuchen über die Linie – Lokesh

Antwort

2

können Sie verwenden setCanceledOnTouchOutside()

einfach den folgenden Code hinzufügen, bevor das Dialog

alert_dialog.setCanceledOnTouchOutside(true); 
alert_dialog.show(); 
Verwandte Themen