Derzeit habe ich eine Schaltfläche innerhalb einer Linear Layout
, etwa so:PopupWindow beim Klicken auf eine Schaltfläche anzeigen?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/open_popup"
android:onClick="createPopup"/>
</LinearLayout>
Ich habe auch eine Erweiterung create (die in der Tat nicht ausgeführt wird, wenn die Schaltfläche geklickt wird).
public void createPopup(View view) {
}
habe ich versucht, ein PopupWindow
mit einem TextView
in ihn zu schaffen. Ich rief dann showAtLocation(parent, gravity, x, y)
an, wobei parent
die Wurzel LinearLayout
ist. gravity
wurde Gravity.BOTTOM
, x
und y
wurden beide auf 10
gesetzt.
Als ich auf den Knopf klickte, empfing ich einen IllegalStateException
Fehler, wo ich showAtLocation()
anrief. Hier ist die createPopup()
Funktion:
PopupWindow popUp;
LinearLayout layout;
LinearLayout main;
TextView value;
LayoutParams params;
boolean click = true;
public void createPopup(View view) {
popUp = new PopupWindow(this);
layout = new LinearLayout(this);
main = (LinearLayout) findViewById(R.id.parent);
value = new TextView(this);
if(click) {
popUp.showAtLocation(main, Gravity.BOTTOM, 10, 10);
popUp.update(50, 50, 300, 80);
click = false;
} else {
popUp.dismiss();
click = true;
}
params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);
value.setText(R.string.message);
layout.addView(value, params);
popUp.setContentView(layout);
setContentView(main);
TextView status = (TextView) findViewById(R.id.status);
status.setTextSize(28);
status.setText("Status of Popup: Don't worry, you're never going to get this.");
}
Was Ich mag würde wissen ist:
- Was bedeutet, dass Fehler entdeckt?
- Warum erscheint es?
- Wie kann ich es beheben?
- Wie erstelle ich ein einfaches Popup-Fenster, das an dem Klick auf eine Schaltfläche angezeigt wird? *
* I eine Funktion erstellen können, möchte, wo es zumindest einen Parameter (welche wären nimmt a String
), und erstellen Sie dann ein Popup-Fenster, das String
enthält, sowie eine Schaltfläche zum Schließen des Popup-Fensters.
EDIT: Nicht sicher, ob dies mit dem Popup-Problem verbunden ist, aber wenn ich die app laufen, bekomme ich diesen Fehler:
07-13 19:51:48.448 133-133/? E/[EGL-ERROR]: egl_image* _egl_create_image_ANDROID_native_buffer(egl_display*, egl_context*, EGLClientBuffer, EGLint*, void*):593: CHUN try create image with crop 0,0,0,0
[ 07-13 19:51:48.448 133: 133 E/ ]
CHUN map external image rgb 1024 x 600
ZWEITE EDIT: Ich habe über einen entsprechenden Code hinzugefügt .
den vollständigen Stacktrace des Fehlers buchen. einschließlich der Fehlermeldung, das ist wichtig. – JoxTraex
Ich weiß nicht, ob ich es reproduzieren kann, aber ich kann es versuchen. –
Bitte stellen Sie sicher, dass fünf vollständige Stacktraces bei der Angabe eines Fehlers unglaublich hilfreich sind, um zu verstehen, was vor sich geht. – JoxTraex