Skip to content

Most visited

Recently visited



public final class AsyncLayoutInflater
extends Object


Helper class for inflating layouts asynchronously. To use, construct an instance of AsyncLayoutInflater on the UI thread and call inflate(int, ViewGroup, OnInflateFinishedListener). The AsyncLayoutInflater.OnInflateFinishedListener will be invoked on the UI thread when the inflate request has completed.

This is intended for parts of the UI that are created lazily or in response to user interactions. This allows the UI thread to continue to be responsive & animate while the relatively heavy inflate is being performed.

For a layout to be inflated asynchronously it needs to have a parent whose generateLayoutParams(AttributeSet) is thread-safe and all the Views being constructed as part of inflation must not create any Handlers or otherwise call myLooper(). If the layout that is trying to be inflated cannot be constructed asynchronously for whatever reason, AsyncLayoutInflater will automatically fall back to inflating on the UI thread.

NOTE that the inflated View hierarchy is NOT added to the parent. It is equivalent to calling inflate(int, ViewGroup, boolean) with attachToRoot set to false. Callers will likely want to call addView(View) in the AsyncLayoutInflater.OnInflateFinishedListener callback at a minimum.

This inflater does not support setting a LayoutInflater.Factory nor LayoutInflater.Factory2. Similarly it does not support inflating layouts that contain fragments.


Nested classes

interface AsyncLayoutInflater.OnInflateFinishedListener


Public constructors

AsyncLayoutInflater(Context context)

Public methods

void inflate(int resid, ViewGroup parent, AsyncLayoutInflater.OnInflateFinishedListener callback)

Inherited methods

From class java.lang.Object

Public constructors


added in version 24.0.0
AsyncLayoutInflater (Context context)

context Context

Public methods


added in version 24.0.0
void inflate (int resid, 
                ViewGroup parent, 
                AsyncLayoutInflater.OnInflateFinishedListener callback)

resid int
parent ViewGroup
callback AsyncLayoutInflater.OnInflateFinishedListener
This site uses cookies to store your preferences for site-specific language and display options.


This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.