启动时不显示对话框片段

时间:2013-07-31 19:32:17

标签: java android android-asynctask android-activity android-dialogfragment

所以我有一些应用程序,在启动时会启动启动画面活动并检查用户帐户是否已链接到该应用程序。如果一个人有应用程序启动主要活动并默默地绕过飞溅。如果没有用户帐户,则会在AsyncTask中删除数据库,并要求用户登录/创建帐户。

首次启动时,应用程序会与服务器同步并关闭数据库。我正在尝试使用不确定的进度条来显示DialogFragment以显示此数据库被拉下来。现在DialogFragment是在onPreExecute()的{​​{1}}中创建的,AsyncTask是在活动的AsyncTask方法中执行的,我遇到的问题是对话框未被绘制到屏幕上。

我有调试日志记录,显示对话框的onStart()正在执行且同步成功。对话框在onCreate()onPreExecute()中显示/解除,两者分别在UI线程上执行。我意识到,如果数据库下载速度很快,这将不会显示很长时间,但我甚至没有看到模拟器中对话框的短暂闪烁。

这可能是模拟器的“问题”,其中所有对话框的帧都被跳过,或者我没有在实际绘制到屏幕的位置创建对话框。

1 个答案:

答案 0 :(得分:0)

根据您的描述,我看到两个可能的原因:
1.也许您没有正确显示DialogFragment,请参阅example 2. AsyncTask是在不同的线程中启动的(不在UIThread上),因此如果您需要访问UIThread(来自AsuncTask),请尝试覆盖onProgressUpdate,请参阅tutorial
希望它有用。