Bei der Entwicklung für Android
können Sie Ihr Ziel (oder Minimum) sdk auf 4 (API 1.6) setzen und das Android-Kompatibilitätspaket (v4) hinzufügen, um Unterstützung für hinzuzufügen Fragments
. Gestern habe ich dies getan und erfolgreich implementiert Fragments
, um Daten aus einer benutzerdefinierten Klasse zu visualisieren.
Meine Frage lautet: Was ist der Nutzen für die Verwendung Fragments
im Gegensatz zum einfachen Abrufen einer Ansicht von einem benutzerdefinierten Objekt und der Unterstützung von API 1.5?
Angenommen, ich habe die Klasse Foo.java:
public class Foo extends Fragment {
/** Title of the Foo object*/
private String title;
/** A description of Foo */
private String message;
/** Create a new Foo
* @param title
* @param message */
public Foo(String title, String message) {
this.title = title;
this.message = message;
}//Foo
/** Retrieves the View to display (supports API 1.5. To use,
* remove 'extends Fragment' from the class statement, along with
* the method {@link #onCreateView(LayoutInflater, ViewGroup, Bundle)})
* @param context Used for retrieving the inflater */
public View getView(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.foo, null);
TextView t = (TextView) v.findViewById(R.id.title);
t.setText(this.title);
TextView m = (TextView) v.findViewById(R.id.message);
m.setText(this.message);
return v;
}//getView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
View v = inflater.inflate(R.layout.foo, null);
TextView t = (TextView) v.findViewById(R.id.title);
t.setText(this.title);
TextView m = (TextView) v.findViewById(R.id.message);
m.setText(this.message);
return v;
}//onCreateView
}//Foo
Beide Methoden sind sehr einfach zu erstellen und in einer Aktivität zu bearbeiten, die List<Foo>
beispielsweise angezeigt werden muss (z. B. programmgesteuert zu a hinzugefügt wird ScrollView
). Sie sind also Fragments
wirklich nützlich oder nur eine überglorifizierte Vereinfachung von Eine Ansicht erhalten, z. B. über den obigen Code?