210 votes

Appel à getLayoutInflater() dans des endroits qui ne sont pas dans l'activité

Que faut-il importer ou comment puis-je appeler l'inflateur de mise en page ailleurs que dans l'activité ?

public static void method(Context context){
    //this doesn't work the getLayoutInflater method could not be found
    LayoutInflater inflater = getLayoutInflater();
    // this also doesn't work 
    LayoutInflater inflater = context.getLayoutInflater();
}

Je suis capable d'appeler getLayoutInflater seulement en activité, est-ce une restriction ? Que se passe-t-il si je veux créer un dialogue personnalisé et que je veux gonfler la vue pour celui-ci, ou si je veux avoir un message Toast avec une vue personnalisée qui est affichée à partir d'un service, je n'ai que le contexte du service, je n'ai pas d'activité mais je veux afficher le message personnalisé.

J'ai besoin du gonfleur à des endroits du code qui ne sont pas dans la classe d'activité.

Comment faire ?

3voto

LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );

Utilisez ceci à la place !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X