android - 异步任务在按钮的单击事件上不显示进度对话框

标签 android

在我的应用程序中,当我单击 Button 时,它有时会显示进度对话框,有时在单击按钮时不显示进度对话框。

异步任务代码为:

public class LoadData extends AsyncTask<Void, Void, Void>
    {
        ProgressDialog pd;
        @Override
        protected void onPreExecute()
        {
            pd = ProgressDialog.show(MainActivity.this, "", "Loading...");
        }
        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
            MainActivity.this.runOnUiThread(new Runnable() {

                public void run() {
                    // TODO Auto-generated method stub
                    LoadActivities(); // function to load data from url 

                }
            });
            return null;
        }
        @Override
        protected void onPostExecute(Void unused) 
        {
            pd.dismiss();    
        }

    }

在按钮点击事件中将其称为:

btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        new LoadMoreData().execute(null);
    }
});  

最佳答案

错误的想法是你在 doInBackground 中使用了 runOnUiThreade 。只需将其从您的代码中删除即可。它解决了你的问题。

永远不要在 doInBackground 中使用任何线程。

关于android - 异步任务在按钮的单击事件上不显示进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644727/

相关文章:

安卓谷歌地图 : How to get the area which is currently shown in screen device?

java - Dagger 2 注入(inject)没有模块的单例

java - 选择每个项目的最新日期并在 sqlite 中获取总和

android - 如何在奥利奥中以编程方式获取移动蓝牙MAC地址

android - Windows 中的 iPhone 模拟器

android - Telephony.SMS_RECEIVED 是否要求彩信?

android - 无法恢复 Activity -运行时异常

android - google play alpha 和 beta 测试功能

android - 依赖项列表中的无效项目 'Flutter for Android'

android - 将 Logcat 从 Android 应用程序保存到 txt 文件