Android 膨胀大布局时显示ProgressDialog

Android 膨胀大布局时显示ProgressDialog,android,android-layout,android-asynctask,android-spinner,layout-inflater,Android,Android Layout,Android Asynctask,Android Spinner,Layout Inflater,我有一个应用程序,它基于从服务器检索到的JSON动态创建不同的表单(一个显示多种表单字段的布局)。一切正常,但表单通常都比较大,因此需要几秒钟才能将整个表单充气 我想在布局膨胀时显示一个ProgressDialog,但只有在AsyncTask中创建表单时,它才会正确显示;可悲的是,我无法在主线之外膨胀任何东西 有人知道此场景的解决方法吗?您是在膨胀布局,还是在动态创建视图?另外,你可以发布一些代码吗,因为我刚刚成功地用这两种方法运行了一些快速测试。谢谢@MikeM.,我实际上两种方法都在做。例如

我有一个应用程序,它基于从服务器检索到的JSON动态创建不同的表单(一个显示多种表单字段的布局)。一切正常,但表单通常都比较大,因此需要几秒钟才能将整个表单充气

我想在布局膨胀时显示一个
ProgressDialog
,但只有在
AsyncTask
中创建表单时,它才会正确显示;可悲的是,我无法在主线之外膨胀任何东西


有人知道此场景的解决方法吗?

您是在膨胀布局,还是在动态创建视图?另外,你可以发布一些代码吗,因为我刚刚成功地用这两种方法运行了一些快速测试。谢谢@MikeM.,我实际上两种方法都在做。例如,我正在实例化一些简单的
按钮
,但大多数情况下,我正在膨胀(
视图.膨胀
)更复杂的自定义组件,我猜这是最昂贵的操作。很难发布代码,逻辑相当复杂,涉及多个类,我认为这可能会产生误导,而不是帮助:(好吧,我创建了一个AsyncTask子类,其中的构造函数采用上下文,在
doInBackground()中创建了一个LayoutInflater)
,使用空根视图组对布局进行膨胀,并将其返回到
onPostExecute()
,并将其以回调方法传递给我的活动,我在活动中将其添加到预先存在的容器视图组中。当然,您也可以从该上下文中实例化视图。是否有其他操作导致了问题?嗯,可能我做错的是尝试将新布局作为子视图添加到
doInBackgr中ound
而不是
onPostExecute
。我需要做一些更改才能这样做,但值得尝试。谢谢!如果我理解正确,那么是的,这很可能就是问题所在。你不想将现有的视图组传递到
doInBackground()
。将布局创建为“孤立视图”,然后在将其传递回UI线程后添加。干杯!