Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动时未显示对话框片段_Java_Android_Android Asynctask_Android Activity_Android Dialogfragment - Fatal编程技术网

Java 启动时未显示对话框片段

Java 启动时未显示对话框片段,java,android,android-asynctask,android-activity,android-dialogfragment,Java,Android,Android Asynctask,Android Activity,Android Dialogfragment,因此,我有一些应用程序,在启动时,它会启动一个启动屏幕活动,并检查用户帐户是否已链接到该应用程序。如果有人让应用程序启动主活动,并悄无声息地绕过飞溅。如果没有用户帐户,它将在AsyncTask中下拉数据库,并要求用户登录/创建帐户 在第一次启动时,应用程序与服务器同步并关闭数据库。我正在尝试获取一个带有不确定进度条的对话框片段,以便在下拉此数据库时显示。现在,在AsyncTask的onPreExecute()中创建了DialogFragment,在活动的onStart()方法中执行了AsyncT

因此,我有一些应用程序,在启动时,它会启动一个启动屏幕活动,并检查用户帐户是否已链接到该应用程序。如果有人让应用程序启动主活动,并悄无声息地绕过飞溅。如果没有用户帐户,它将在
AsyncTask
中下拉数据库,并要求用户登录/创建帐户

在第一次启动时,应用程序与服务器同步并关闭数据库。我正在尝试获取一个带有不确定进度条的
对话框片段
,以便在下拉此数据库时显示。现在,在
AsyncTask
onPreExecute()
中创建了
DialogFragment
,在活动的
onStart()
方法中执行了
AsyncTask
。我遇到的问题是对话框没有被绘制到屏幕上

我的调试日志显示对话框的
onCreate()
正在执行,同步成功。对话框分别在
onPreExecute()
onPostExecute()
中显示/取消,这两个对话框都在UI线程上执行。我意识到,如果数据库下载速度很快,它不会显示很长时间,但我在模拟器中甚至看不到一个简短的对话框闪烁


这可能是模拟器的一个“问题”,所有对话框的框架都被跳过了,还是我没有在实际绘制到屏幕的位置创建对话框。

从您的描述中,我看到了两个可能的原因:
1.可能您没有正确显示DialogFragment,请参见。
2.AsyncTask是在不同的线程中启动的(不是在UIThread上),因此如果需要访问UIThread(从AsuncTask),请尝试覆盖
onProgressUpdate
请参阅。
希望这是有益的