Ich habe eine App mit einer Quickaction angezeigt, sobald eine Taste gedrückt wird. Die quickaction zeigt ein Popup wie in der Gallery 3D-Anwendung für Android, und wenn eine Aktion angeklickt wird, versuche ich einen Dialog zu zeigen, aber ich erhalte ein erzwungenes Schließen. Debug in Eclipse zeigt auf die slideDialog.show(); Linie, aber ich brauche das, um den Dialog zu zeigen, oder? Hier ist ein Beispiel für eine dieser schnellen Aktionen/Dialoge.Start Dialog von QuickAction Button
letzte ActionItem dritte = neue ActionItem();
third.setTitle ("Pinselbreite anpassen");
third.setIcon (getResources(). GetDrawable (R.drawable.arrow_up));
third.setOnClickListener(new OnClickListener() {
@Override
public void onClick (Blick v) {
slideDialog = new slideDialog(getApplicationContext()); slideDialog.show(); slideDialog.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { mPaint.setStrokeWidth(slideDialog.getSize()); } }); } });
Ich habe diesen SlideDialog bereits in der gleichen Klasse durch den OnCreateMenu Zeug verwendet, erzwingt nur Schließen, wenn ich versuche, den gleichen Code von einer QuickAction ausführen. Ist das möglich? –
Ich habe den hinterhältigen Verdacht, dass getApplicationContext() nicht den richtigen Kontext für Ihre Bedürfnisse zurückgibt .... haben Sie versucht, Classname.this in slideDialog zu übergeben ... dh sildeDialog = new slideDialog (Classname.this) wo Classname ist Name der Klasse, in der du gerade schreibst? –
Was wissen Sie? Es funktionierte! Ich habe es den classenname.this anstelle von getApplicationContext() gesendet und es funktionierte wie es sollte. Vielen Dank! –