Ich versuche, ein Rahmenlayout mit einem Klick auf die Schaltfläche sichtbar zu machen. Hier ist meine XML
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
>
<EditText
android:id="@+id/Extrastxt"
android:layout_height="wrap_content"
android:layout_width="200dp"
android:hint="Message..."
android:visibility="invisible" />
</LinearLayout>
</FrameLayout>
Wenn ich Extras Text sichtbar mache, funktioniert es nicht.
Java-Code:
Extrastxt.setVisibility(View.VISIBLE);
Xamarin-Code:
Extrastxt.Visibility = ViewStates.Visible;
3 Antworten
Wenn Sie Ihr Framelayout dann sichtbar machen möchten, sollten Sie die Instanz von Framelayout mit FrameLayout.setVisibility(View.VISIBLE)
sichtbar machen.
Überprüfen Sie den folgenden Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/framelayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
>
<EditText
android:id="@+id/Extrastxt"
android:layout_height="wrap_content"
android:layout_width="200dp"
android:hint="Message..."
android:visibility="invisible" />
</LinearLayout>
</FrameLayout>
In Aktivität:
FrameLayout frameLayout = findViewById(R.id.framelayout);
Wenn Sie auf die Schaltfläche klicken, wird sie mit der Methode setVisibility sichtbar oder unsichtbar.
Es scheint mir, dass Sie diese Ansicht nicht richtig initialisieren. Bringen Sie die Frage nach dem Initialisierungscode "Extrastxt". Versuchen Sie auch zu sehen, was im Code passiert, wenn die Sichtbarkeit des Objekts per Debug geändert wird
Geben Sie dem Rahmenlayout die ID und stellen Sie die Visbalität wie folgt ein
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myFrame"
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/Extrastxt" android:layout_height="wrap_content" android:layout_width="200dp" android:hint="Message..." android:visibility="invisible" />
</LinearLayout> </FrameLayout>
Java-Code:
FrameLayout myFramelyout= (FrameLayout) findViewByID(R.id.myFrame)
Auf Knopfdruck:
myFrameLayout.setVisibility(View.VISIBLE)
;
Neue Fragen
java
Java ist eine Programmiersprache auf hoher Ebene. Verwenden Sie dieses Tag, wenn Sie Probleme haben, die Sprache selbst zu verwenden oder zu verstehen. Dieses Tag wird selten alleine verwendet und wird am häufigsten in Verbindung mit [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] und [maven] verwendet.