Comment obtenir de l'application de contexte dans d'autres méthode que onCreate dans Android Studio?
J'ai un async tâche qui crée finalement les paramètres e-mail,sur. La tâche asynchrone est dans la méthode onCreate, et alors, est-ce CustomListAdapter. Je veux déplacer le CustomListAdapter de onCreate dans l'asyncTask dans onPostExecute
.Mon problème est que this
signifie le contexte de l'application. Quand je la déplace dans onPostExecute
il n'est pas cadre plus. J'ai essayé de le remplacer par getApplicationContext()
, activityName.this.getApplicationContext
mais cela ne fonctionne pas car il attend le contexte de l'application. J'ai trouvé ce Statique de la façon d'obtenir des "Contexte" sur l'Android? mais je ne peux pas définir un nom dans le manifeste pour une raison quelconque. Quelle autre méthode pour obtenir de l'application de contexte puis-je utiliser dans le onPostExecute méthode de l'asyncTask? Ou dois-je simplement faire une Asynck tâche avec le contexte comme un paramètre ?
CustomListAdapter adapter=new CustomListAdapter(this, email,about);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//TODO Auto-generated method stub
String Slecteditem= email.get(position);
Toast.makeText(getApplicationContext(), Slecteditem, Toast.LENGTH_SHORT).show();
}
});
Vous devez vous connecter pour publier un commentaire.
Si votre activité nom est MyActivity, vous pouvez toujours utiliser MyActivity.pour obtenir son contexte
MyActivity.this.getApplicationContext
. Il semble que juste MyActivity.cela devient le contexte. Je vous remercie.Vous pouvez passer contexte de votre
Activity
composant dans le constructeur de votreCustomAysncTask
comme dans l'extrait de code ci-dessous et l'utiliser. Mais toujours faire la bonne case pournull
Mise à jour: Comme
Tomer Shemesh
soulignéet pour y accéder:
MainActivity.this
à l'intérieur deAsyncTask
ne sera pas?AsyncTask
est un public distinct de la classe et de ne pas l'intérieur de la classe, comment allez-vous pour accéder àMainActivity.this
, est-il sensé?