/ / Warum kann ListView nicht auf oberster Ebene angezeigt werden? - Android, Android-Layout, Listenansicht

Warum kann ListView nicht auf oberster Ebene angezeigt werden? - Android, Android-Layout, Listenansicht

Um ein Fragment zu erstellen, das einen einzigen ListView enthält, muss ich es tun

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivityFragment">

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

</FrameLayout>

Warum muss ich das ListView in einem FrameLayout platzieren? Warum kann der ListView die Top-Level-Ansicht sein?

AKTUALISIEREN

Ich habe die Frage irgendwie falsch gestellt: Was ich meinte, ist: Warum ist es nicht die beste Vorgehensweise, den ListView selbst zur Top-Level-Ansicht zu machen? Ich sehe immer den FrameLayout-Wrapper in Online-Codes.

Antworten:

3 für die Antwort № 1

Es kann, solange Sie nicht erwarten, etwas anderes in das Layout zu legen.

FrameLayout, wie Linear und Relativ, sind Container für mehrere Ansichten, aber wenn Sie nur eine haben, brauchen Sie sie nicht.

Die meisten online gesehenen Layoutdateien gehen davon aus, dass Sie Ihre ui erweitern möchten, indem Sie Notwendigkeiten wie einen leeren Zustand oder eine Fab hinzufügen. Ihr leerer Status muss ebenfalls auf demselben Layout sein.