match_parent ne fonctionne pas comme prévu

J'imagine que cela doit être assez facile à répondre, si vous comprenez Layouts XML mieux que moi ce qui est. Je ne semble pas pour obtenir ce que je pensais que je devrais lors de l'utilisation de la match_parent layout_height.

J'ai un LinearLayout de l'élément racine avec android:orientation="vertical". À l'intérieur de ce LinearLayout je veux de trois éléments:
- TextView
- ListView
- TextView

Pour le TextViews j'ai mis android:layout_height="wrap_content" de sorte qu'ils seront seulement aussi grand que nécessaire pour afficher leur contenu. La chose est, je veux le un TextView de s'asseoir au sommet de la forme, de l'autre à s'asseoir au fond de la forme, tandis que la liste se remplit tout l'espace disponible sur le formulaire. Voici donc ce que mon xml de mise en page ressemble à ceci:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Top TextView" />

<ListView
    android:id="@+id/listView_Species"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Bottom TextView" />

Mais ça ne fonctionne pas. Voici ce que j'obtiens. J'ai sélectionné de la liste de sorte qu'il sera mis en évidence. Remarquez comment il s'étend tout le chemin vers le bas de la forme, en poussant la partie inférieure TextView le formulaire.
match_parent ne fonctionne pas comme prévu

Lorsque je change la layout_height propriété de la ListView certaine valeur fixe, comme 180dp, c'est ce que la forme ressemble. Je suis en train de poster afin de prouver que le fond TextView est là, mais je ne sais toujours pas comment l'obtenir pour être fixé sur le bas de l'écran tandis que la liste de occupe tout l'espace qui reste, mais entre les deux TextViews.

match_parent ne fonctionne pas comme prévu

Merci d'avance.