Ich habe einige Daten in einer globalen Klasse gespeichert, indem Sie die Application Context In One-Aktivität verwenden. Später muss ich diese Werte in A Fragment abrufen. Ich habe so etwas in Global Class gespeichert.
AndroidGlobalClass AGC = ((AndroidGlobalClass) getApplicationContext());
AGC.setUser_access("XYZ");
AGC.setFirst_name("ABC");
Und im Manifest habe ich getan:
<application
Android:name=".AndroidGlobalClass"
Android:theme="@style/AppTheme" >
<activity
Android:name="abc.SignInActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Wenn ich jetzt versuche, den Anwendungskontext zu erhalten, bekomme ich den Kontext nicht ...
AndroidGlobalClass AGC = ((AndroidGlobalClass) getApplicationContext());
Dies ist meine Fragmentaktivität
public class Fragment_NewsFeed extends Fragment {
public Fragment_NewsFeed() {
}
RestImplimentationMethods RIM;
AndroidGlobalClass AGC;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_newsfeed, container, false);
return rootView;
}
}
Sie können den Kontext mit getActivity().getApplicationContext();
abrufen.
Benutzen
getActivity (). getApplicationContext ()
um den Kontext in einem beliebigen Fragment zu erhalten
Versuchen Sie, getActivity();
zu verwenden. Dadurch wird Ihr Problem gelöst.
sie können eine globale Variable definieren:
private Context globalContext = null;
und initialisieren Sie es in der onCreate-Methode:
globalContext = this.getActivity();
Und damit können Sie die Variable "globalContext" in allen Ihren Fragmentfunktionen/-methoden verwenden.
Viel Glück.
In Support Library 27.1.0 und höher hat Google die neuen Methoden requireContext()
und requireActivity()
eingeführt.
ZB: ContextCompat.getColor(requireContext(), R.color.soft_gray)
Weitere Infos hier
Fügen Sie dies zu onCreate hinzu
// Getting application context
Context context = getActivity();