Android布局未显示
当我的测验应用程序第一次启动时,它需要将问题添加到数据库和其他一些东西,这需要几秒钟的时间。发生这种情况时,我想显示一个不确定的进度条。添加问题后,类调用finish()并转到主屏幕。问题是除非未调用finish,否则不会绘制布局。我假设它在调用oncreate和onstart之后才绘制XML布局。那么我该如何解决这个问题呢?在其Android布局未显示,android,layout,oncreate,Android,Layout,Oncreate,当我的测验应用程序第一次启动时,它需要将问题添加到数据库和其他一些东西,这需要几秒钟的时间。发生这种情况时,我想显示一个不确定的进度条。添加问题后,类调用finish()并转到主屏幕。问题是除非未调用finish,否则不会绘制布局。我假设它在调用oncreate和onstart之后才绘制XML布局。那么我该如何解决这个问题呢?在其onPreExecute中使用、显示进度对话框,并在onPostExecute中关闭,在doInBackground中准备数据库 除非您使用DialogFragment
onPreExecute
中使用、显示进度对话框,并在onPostExecute
中关闭,在doInBackground
中准备数据库
除非您使用DialogFragment来显示对话框,否则您必须处理设备旋转。原因是,在填充数据库时未显示UI,可能是因为您在UI线程(应用程序的主线程)中执行此操作。由于线程正忙于填充数据库,因此没有时间显示UI、设置进度指示器动画或对用户操作作出反应 因此,您应该始终在单独的线程中运行耗时的任务。请参阅android devloper博客中关于无痛线程的这篇精彩文章,了解更多信息并正确操作: