Hinzufügen und entfernen einer TextView dynamisch in Android

Habe ich ein FrameLayout die eine TextView auf der Spitze eines ListView. Jetzt, in der MainActivity nach Ausführung einige code, ich überprüfe, ob die ListView leer ist. Wenn es so ist, zeige ich die TextView wenn nicht, Entferne ich den TextView.

Der code ist wie folgt:

Folgenden ist die main.xml Datei:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/flMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvAddItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Add some subjects"
        android:textSize="20sp" />

    <ListView
        android:id="@+id/ItemsList"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />

</FrameLayout>

In der MainActivity-Klasse, ich Tue das folgende:

MainActivity.java

TextView tvNoItem = (TextView) findViewById(R.id.tvAddItem);
ListView subListView = (ListView) findViewById(R.id.itemsList);
FrameLayout fl = (FrameLayout) findViewById(R.id.flMain);

ArrayList<Item> itemsList;

//some code

if(itemsList.isEmpty()) {
    fl.addView(tvNoItem);
} else {
    fl.removeView(tvNoItem);
}

Nun, wenn ich es laufen, und ich fügen Sie einige Elemente in der Liste, die TextView (tvNoItem) entfernt wird, in der Tat. Aber alles, was ich sehe ist eine leere Liste, die Liste der Elemente, die nicht sichtbar sind. [BTW, die Liste ist in Ordnung. Wenn ich entfernen Sie die TextView aus main.xml, ich kann sehen, all die Elemente der Liste.] Bitte helfen Sie.

Warum nicht der Ansicht zu gegangen? textView.setVisibility(View.GONE)
Das habe ich versucht. Es tut die gleiche Sache. Erhalte ich eine leere Aktivität.

InformationsquelleAutor Born Again | 2013-07-09

Schreibe einen Kommentar