In un'applicazione Android, esiste un modo per ottenere il contesto in Android in una classe di non attività se il nome della classe di attività è noto?get Contesto in classe non di attività
66
A
risposta
105
Se la classe è classe non-attività, e la creazione di un'istanza dalla activiy, si può passare un'istanza di contesto tramite costruttore della successiva come segue:
class YourNonActivityClass{
// variable to hold context
private Context context;
//save the context recievied via constructor in a local variable
public YourNonActivityClass(Context context){
this.context=context;
}
}
È possibile creare un'istanza di questa classe dalle attività come segue:
new YourNonActivityClass(this);
+4
Cosa succede se ho un'istanza statica della mia classe, lì ho un problema con i contesti statici. Cosa dovrei fare ' –
+0
quindi essere pronto per la perdita di memoria –
passare il contesto di ur dell'attività corrente al costruttore della classe java ... – user1969053
Se la classe non-attività è una 'Fragment', vedere http://stackoverflow.com/domande/8215308/con-contesto-in-a-frammento. – dinosaur
Se si desidera evitare il passaggio del contesto, quindi creare una classe che estende la classe Application e all'interno di tale definizione: Context AppContext statico privato; e su onCreate() {this.appContext = getApplicationContext();}, e rendere pubblico static Context getContext() {return appContext;} metodo che restituirà il contesto dell'applicazione e userà nella classe onActivity. –