¿Qué se necesita importar o cómo puedo llamar al inflador Layout en lugares que no sean actividad?
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();
}
Puedo llamar getLayoutInflater
solo en actividad, ¿es una restricción? ¿Qué sucede si quiero crear un cuadro de diálogo personalizado y quiero inflar la vista para él, o si quiero tener un mensaje Toast con una vista personalizada que se muestra desde un servicio, solo tengo el contexto del servicio? No tengo ninguna actividad. pero quiero mostrar un mensaje personalizado
Necesito el inflador en lugares en el código que no está en la clase de actividad.
Cómo puedo hacer esto ?
getSystemService
por alguna razón (poco probable) no devuelve un objeto de tipo,LayoutInflater
entonces mi código causaría una excepción en tiempo de ejecución.O ...
fuente
o
View.inflate(context, layout, parent)
fuente
Usando el objeto de contexto puede obtener LayoutInflater a partir del siguiente código
fuente
fuente
¡Use esto en su lugar!
fuente