wake-up-neo.com

Holen Sie sich den Anwendungskontext in Fragment in Android?

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;
    }
}
42
NRahman

Sie können den Kontext mit getActivity().getApplicationContext(); abrufen.

145
SalGad

Benutzen 

getActivity (). getApplicationContext ()

um den Kontext in einem beliebigen Fragment zu erhalten

14
Aakash Goyal

Versuchen Sie, getActivity(); zu verwenden. Dadurch wird Ihr Problem gelöst.

3
Ashwin S Ashok

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.

3
Nabz

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

0
Jithin Jude

Fügen Sie dies zu onCreate hinzu 

// Getting application context
        Context context = getActivity();
0
Joolah