dies versuchen,
Context context=getApplicationContext();
String[] foo_array = context.getResources().getStringArray(R.array.foo_array);
Und verwenden Aktivität Kontext nicht so, dass in das Aktivitätslebenszyklus gebunden ist.
aktualisieren,
getApplicationContext()
ist von Context-Klasse. Das bedeutet, jeder erweiterte Kontext hat diese Methode. Dies bedeutet auch, dass Sie dies von service
oder von anderen Ressourcen verwenden können.
Aber, wenn Sie benutzerdefinierte Klasse nicht Activity/Kontext erweitern, müssen Sie Context übergeben als Parameter getApplicationContext()
zu verwenden, wenn Sie Ihre Aktivitäten wie diese
myMethod(Activity activity) //this is bad
Bud erklären, wenn es heißt, folgende,
myMethod(Context context) //this is ok
aber von oben Erklärung nicht passieren Activity
oder Service
Context
da sie einen eigenen Lebenszyklus haben.stattdessen werden Sie getApplicationContext()
Wenn ich meine benutzerdefinierte Klasse in 'öffentliche Klasse CustomClass (Kontext Kontext) {}' ändern, gibt es mir Fehler Sprich 'Syntaxfehler auf Token" (", {expected'. –
@JosephWebber müssen Sie einen Konstruktor haben nicht die synxtax der Klassendeklaration zu ändern. Überprüfen Sie die Bearbeitung – Raghunandan
@JosephWebber überprüfen Sie die Bearbeitung sollte es funktionieren und überprüfen Sie auch diese http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html – Raghunandan