utilizar usar studio simple que make libreria create como android design service toast android-context

android - usar - Llamar a getLayoutInflater() en lugares que no están en actividad



toast make in android (4)

¿Qué necesita ser importado 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 a getLayoutInflater solo en actividad, ¿es eso una restricción? ¿Qué sucede si quiero crear un cuadro de diálogo personalizado y quiero inflar la vista para él, o qué sucede si quiero tener el mensaje Toast con una vista personalizada que se muestra desde un servicio, solo tengo el contexto del servicio que 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 ?


O ...

LayoutInflater inflater = LayoutInflater.from(context);


Puede usar estas actividades externas: todo lo que necesita es proporcionar un Context :

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

Luego, para recuperar sus diferentes widgets, infle un diseño:

View view = inflater.inflate( R.layout.myNewInflatedLayout, null ); Button myButton = (Button) view.findViewById( R.id.myButton );

EDITAR a partir de julio de 2014

La answer de Davide sobre cómo obtener el LayoutInflater es en realidad más correcta que la mía (que aún es válida).


Usando el objeto de contexto puede obtener LayoutInflater del siguiente código

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


o

View.inflate(context, layout, parent)