Ausnahme, wenn man ein EditText in einem Popup laufen auf dem Gerät

Entwickle ich ein PopUp-Fenster für Android, und es funktioniert, ich habe ein EditText und ein Button auf, der beim laufen auf ADV korrekt, beim laufen auf dem Gerät, wenn ich den Fokus auf die EditText dies wirft eine seltsame Ausnahme.

android.view.WindowManager$BadTokenException: Unable to add window - - token android.view.ViewRoot&48163b18 is not valid; is your active running?

Ich weiß nicht, ob es eine Rolle spielt, aber ich bin läuft auf einem Galaxy Tab mit Swype-Eingabe.

Nun lese ich die Spezifikationen des Fensters.showAtLocation

public void showAtLocation (View parent, int gravity, int x, int y)

Display the content view in a popup window at the specified location. If the popup window cannot fit on screen, it will be clipped. [...]

Parameters
parent  a parent view to get the getWindowToken() token from
[...]

Das problem ist nur, dass in token, aber wie gebe ich die Aktivität token, um es?

Schrieb ich auch einen kleinen code, den Fehler zu reproduzieren.

PopupWindow window = new PopupWindow(activity);
window.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
window.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);

window.setTouchable(true);
window.setFocusable(true);

EditText text = new EditText(activity);
text.setText("Dont touch, this crash!");

window.setContentView(text);
window.showAtLocation(arg0, Gravity.NO_GRAVITY, 10,10);

Läuft auf AVD alles Prima funktioniert, während auf dem Gerät stürzt dieses ab und werfen Sie die Fehler, die ich erwähnt.

Entdecke ich etwas neues, wenn ich im landscape-Modus dieser Fehler nicht Auftritt.

  • Dies kann eine totale Schuss im Dunkeln, aber nach der recherche zu diesem etwas, wie es scheint, dieses problem kann verursacht werden, indem Sie mit Aktivität.getApplicationContext als Kontext. Dieser thread gibt Euch eine Lösung, wenn dies tatsächlich Ihr problem. groups.google.com/group/android-developers/browse_thread/thread/...
  • Ich versuchte sogar mit einer Menge von Kontexten (von der Taste, von der Tätigkeit, Anwendung) der gleiche Fehler auf allen.
  • Vasconcelos ,ich habe das gleiche problem mit Ihnen ,und es scheint nicht der code ,sondern das Gerät den Absturz verursachen. und ich habe einige ausprobiert samsumg android-tab und Telefon ,die meisten von Ihnen zum Absturz. Ich will wissen, ob Sie dieses problem gelöst haben. oder was sollten wir tun.
  • hast du eine Lösung gefunden für dein problem? Ich habe eine ähnliche (versuchen, fügen Sie ein Untermenü in einem popup-Fenster-Menü), außer es scheitert auch am emulator... finde keine Lösung überall, ich wäre daran interessiert zu wissen, ob du es gelöst hast
  • ich habe dasselbe problem, aber in meinem Fall edittext ist in webview, haben Sie keine Lösung gefunden
  • Ich habe das gleiche problem, aber es scheint zu sein, gelegentlich. @kosiara - Bartosz Kosarzycki Antwort mein problem gelöst

Schreibe einen Kommentar