android - ProgressDialog 仅在 setContentView() 之后触发

标签 android progressdialog

我有一个进度对话框:

ProgressDialog pDialog = ProgressDialog.show(MyActivity.this, "", "Logging In...");

它应该从方法的顶部开始运行,直到结束。这是在授权成功时执行的 block :

if(writeSuccess){
    Toast.makeText(getApplicationContext(), "Login Success!", Toast.LENGTH_SHORT).show();
    pDialog.dismiss();
    setContentView(R.layout.auth);
}

但是 ProgressDialog 不会触发。但是,如果我将其注释掉,它将在 ContentView 切换后触发。有人对这个问题有任何想法或补救措施吗?

最佳答案

使用 ASyncTask做你想做的事。在 onPreExecute 上,创建并显示对话框,在 doInBackground 上进行登录,在 onPostExecute 上关闭之前创建的对话框。

关于android - ProgressDialog 仅在 setContentView() 之后触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060902/

相关文章:

java - Android蓝牙周期性调用inputStream和outputStream : inconsistent timestamps

未收到 Android GCM unicode 字符

android - Admob 测试 ID 不断变化

android - 当线程中的一个进程正在运行时,进度对话框不显示

android - 如何使用 videoview 流畅地播放来自 url 的视频?

java - 如何在 Android 中全局声明一个资源

android - MediaRecorder.Stop() 在 Galaxy A7、Galaxy A10s 等三星设备上失败

android - 如何在从一个 Activity 更改为另一个 Activity 时显示 ProgressDialog?

java - AsyncTask 在后台运行时看不到 ProgressDialog

android - SwipeRefreshLayout 需要卡住 UI