Co trzeba zaimportować lub jak mogę nazwać inflator układu w miejscach innych niż aktywność?
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();
}
Mogę dzwonić getLayoutInflater
tylko w działaniu, czy to ograniczenie? Co jeśli chcę utworzyć niestandardowe okno dialogowe i chcę zawęzić dla niego widok, lub co jeśli chcę mieć wiadomość Toast z niestandardowym widokiem, która jest wyświetlana z usługi, mam kontekst tylko z usługi Nie mam żadnej aktywności ale chcę pokazać niestandardową wiadomość.
Potrzebuję inflatora w miejscach w kodzie, które nie należą do klasy aktywności.
W jaki sposób mogę to zrobić ?
getSystemService
jakiegoś (mało prawdopodobnego) powodu nie zwróci obiektu typu,LayoutInflater
wówczas mój kod spowoduje wyjątek czasu wykonywania.Lub ...
źródło
lub
View.inflate(context, layout, parent)
źródło
Za pomocą obiektu kontekstowego można uzyskać LayoutInflater z następującego kodu
źródło
źródło
Użyj tego zamiast tego!
źródło