2016-05-03 3 views
0

Haben Sie eine Situation, wenn Sie dynamisch Komponenten im Fragment erstellen müssen. Ich habe auch eine statische Funktionen, um eine bestimmte Komponenten zu erstellen, die oft in der Anwendung verwendet wird. Es gibt viele Möglichkeiten, den Kontext an den Konstruktor zu übergeben.Kontext für die Erstellung neuer Komponenten im Fragment oder in der statischen Funktion?

Aber was ist die beste Praxis, wenn die statische Funktion oder wenn erstreckt sich von dem Fragment?

Ich lese viel, verstehe aber nicht das ganze Bild. Danke für deine Tipps.

zum Beispiel:

public void onAttach(Context context) { 
     fragmentContext = (FragmentActivity) context; 

or 
getActivity() 
or 
getActivity().getApplicationContext() 
or 
getActivity().getBaseContext() 
or 
getContext() 

or... or.. or.... 

Dank.

Antwort

1

Um UI-Komponenten zu erstellen, sollten Sie die Aktivität context verwenden. Damit wird das Aktivitätsthema auf die Komponente angewendet. Sie haben also 2 Optionen in Fragment. Man speichert die context unter onAttach() und verwendet diesen Kontext zum Erstellen von Komponenten. Die zweite verwendet getActivity(). Beide Kontexte sind der Host-Aktivitätskontext.

Sie sollten prüfen, ob der Kontext Null ist, bevor Sie den Kontext verwenden.

+0

Danke für die Antwort – JDev

Verwandte Themen