Que faut-il importer ou comment puis-je appeler le gonfleur de mise en page dans des endroits autres que 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 ne peux appeler getLayoutInflater
qu'en activité, est-ce une restriction? Que faire si je veux créer un dialogue personnalisé et que je veux gonfler la vue pour cela, ou que faire 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 aucune activité mais je veux afficher un message personnalisé.
J'ai besoin du gonfleur à des endroits du code qui ne sont pas dans la classe d'activité.
Comment puis-je faire ceci ?
getSystemService
pour une raison (peu probable) ne retourne pas un objet de type,LayoutInflater
mon code provoquerait une exception d'exécution.Ou ...
la source
ou
View.inflate(context, layout, parent)
la source
En utilisant un objet de contexte, vous pouvez obtenir LayoutInflater à partir du code suivant
la source
la source
Utilisez ceci à la place!
la source