Android: genaue layout_height einer Listview (genauso wie wrap_content)

Manchmal könnte ich ausrasten, wenn ich mit XML-Layouts von Android arbeite. Besonders bei trivialen Anforderungen, die einfach so funktionieren sollten. Heute hatte ich folgendes Problem:
Ich wollte 2 Listviews passgenau in einem Navigation-Drawer platzieren, jedoch wurde mir nur ein Eintrag jeder Liste angezeigt. (Siehe Abbildung rechts) Theoretisch hätte es mit den Attributen

            <ListView
            android:id="@+id/NavigationDrawer_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#cccc"
            android:choiceMode="singleChoice"
            android:divider="@android:color/white"
            android:dividerHeight="1dp" />

funktionieren sollen. Jedoch stellte sich heraus, dass eine Listview noch einmal in einer ScrollView eingepackt ist und das Attribut „android:layout_height“ mit dem Parameter wrap_content nicht funktioniert. Aus diesem Grund habe ich mir folgende Methode geschrieben.

 

(mehr …)