AsyncTask 的实例

发布于 2024-11-17 00:15:18 字数 946 浏览 1 评论 0原文

我有一个程序,每次单击按钮时都会使用异步任务...我不想每次单击时都输入整个 AsyncTask ..那会很乏味。有什么更好的方法可以做到这一点? 这是一些源代码。

  new AsyncTask<Void, Integer, Void>(){

            @Override
        protected Void doInBackground(Void... arg0) {
            try {                 
             Thread.sleep(1000);             
            } catch (InterruptedException e) {                         
                e.printStackTrace();             
                    }            
                    return null;
            }
            @Override         
        protected void onPostExecute(Void result) {             
                    text1.setText("Nice to meet you "+name);
                    dismissDialog(typeBar);
                     }


                @Override        
        protected void onPreExecute() { 
            typeBar = 0;
        showDialog(typeBar);

        }

        }.execute((Void)null);

        }
    });
    }

I have a program that used async task everytime the button is clicked... I dont want to keep typing the WHOLE AsyncTask everytime it is clicked.. That will be to tedious. What is a better way i can do this?
Here is some source code.

  new AsyncTask<Void, Integer, Void>(){

            @Override
        protected Void doInBackground(Void... arg0) {
            try {                 
             Thread.sleep(1000);             
            } catch (InterruptedException e) {                         
                e.printStackTrace();             
                    }            
                    return null;
            }
            @Override         
        protected void onPostExecute(Void result) {             
                    text1.setText("Nice to meet you "+name);
                    dismissDialog(typeBar);
                     }


                @Override        
        protected void onPreExecute() { 
            typeBar = 0;
        showDialog(typeBar);

        }

        }.execute((Void)null);

        }
    });
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奈何桥上唱咆哮 2024-11-24 00:15:18

创建一个扩展 AsyncTask 的新类:

public class MyTask extends AsyncTask<Void, Integer, Void>
{
    @Override
    protected Void doInBackground(Void... arg0)
    {
    }
}

然后无论您在哪里需要它,只需执行以下操作:

new MyTask.execute();

就是这样!玩得开心!

Create a new class that extends AsyncTask:

public class MyTask extends AsyncTask<Void, Integer, Void>
{
    @Override
    protected Void doInBackground(Void... arg0)
    {
    }
}

Then whereever you need it just do this:

new MyTask.execute();

Thats it! Have fun!

喜爱纠缠 2024-11-24 00:15:18

将其放在公共或私人班级中。然后,您可以根据新创建的类的名称引用/实例化它。

Put it in a public or private class. You can then reference/instantiate it based on the name of the newly made class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文