23

Ich habe eine Aktivität mit einem Menü von Elementen auf der linken Seite, die TextViews sind. Wenn der Benutzer eine der textViews auswählt, wird ein listView in den restlichen Bereich der Aktivität eingefügt, der die anderen 2 \ 3 des Bildschirms belegt. Wenn der Benutzer einen anderen textView auf der linken Seite der Seite berührt, öffnet er eine andere entsprechende listView von Elementen.Vorteil von ListFragment über ein ListView oder normales Fragment

ich überlegte, eine große listview für diesen Zweck auf den Bildschirm zu setzen. aber eine andere Möglichkeit ist, anstatt eine normale ListView in der Aktivität zu verwenden, ich könnte ein Listenfragment dort hineinlegen und zwischen Fragmenten wechseln.

Die dritte Wahl besteht darin, ein Fragment hineinzulegen und ein listView in dieses Fragment einzufügen. Ich habe noch nie zuvor ListFragment benutzt.

Welches wäre der beste Plan, wenn man bedenkt, dass es keine Orientierungsänderung geben wird? Die Aktivität wird im Hoch-/Hochformat gesperrt. Dies wird auf einem Tablet laufen, nicht auf kleineren Geräten wie Telefonen verwendet.

Ich weiß nicht, ob ich Loader verwenden muss, weil die Liste nicht lang sein wird und der Inhalt der Liste nur Text sein wird.

Gibt es einen Vorteil der Verwendung von listFragment gegenüber den anderen Möglichkeiten?

Die drei Auswahlmöglichkeiten für diese Aktivität:

  1. Aktivität mit ListView auf sie

  2. Aktivität mit ListFragment auf ihm auf

  3. Aktivität mit Fragment, das ListView inside of the Fragment`

  4. hat

Antwort

13

A ListFragment ist im Grunde eine etwas spezialisierte Fragment, die die Handhabung einer ListView in das Layout der Fragment erleichtert erleichtert bietet einige Komfort-Methoden (wie getListView(), so dass Sie nicht nach dem Widget selbst suchen müssen, eine Methode, um den Adapter zu bekommen von der ListView etc). Wenn Sie eine mit einer ListView benötigen, verwenden Sie eine ListFragment. Letztendlich geht es darum, zwischen einem ListView und einem ListFragment zu entscheiden.

Zwischen den beiden Optionen, unter Berücksichtigung Ihres Szenarios, würde ich einfach eine ListView verwenden, weil es einfach ist. Die Notwendigkeit einer Loader ist kein Problem, wie Sie die LoaderManager der Activity für die ListView verwenden können.

Sie haben jedoch nicht erwähnt, wie die BACK-Taste behandelt werden soll. Wenn Sie dem Benutzer die Möglichkeit bieten möchten, durch seine Auswahlmöglichkeiten zu navigieren, verwenden Sie eine Listfragment, um diese kostenlos vom System zu erhalten.

+0

Haben Sie Legacy-Code mit Option 3 sind die Convenience-Methoden eine Re-Faktorisierung wert? – Martin

+1

@Martin Der Wechsel zwischen einem Fragment mit einer Liste und einem ListFragment sollte nicht zu schwer sein. Es liegt an dir am Ende, ich würde mich nicht kümmern, wenn ich bereits ein funktionierendes normales Fragment habe. – Luksprog

Verwandte Themen