-1

按下按钮时,我有一项繁重的任务要执行。在执行任务时单击按钮时 UI 被阻止。

我想显示一个带有任务进度的进度条。

我怎样才能做到这一点?

谢谢

编辑:我使用带有进度对话框的 AsyncTask 修复了这个问题

4

2 回答 2

0

为了不让 UI 被阻塞,您可以使用单独的线程在其中运行您的“繁重任务”。最好的方法是查看AsyncTask。查看文档,当您进入“4 个步骤”部分时,您将在第一步中阅读:

onPreExecute(),在任务执行之前在 UI 线程上调用。此步骤通常用于设置任务,例如通过在用户界面中显示进度条。

这是一个如何做到这一点的教程。请记住,AsyncTask 不是唯一的解决方案,还有其他用于在后台处理“繁重任务”的工具 - 请参阅这篇关于该主题的优秀文章(也带有代码示例)。

于 2013-07-06T10:19:34.420 回答
0

使用异步任务

例子 :

 private class LongOperation extends AsyncTask<Void, Void, String> {

      @Override
      protected String doInBackground(String... params) {

            // Put Your Code Here Which is to be executed on button Click
            return "Executed";
      }      

      @Override
      protected void onPostExecute(String result) {
            // Dismiss Progress Dialog here
      }

      @Override
      protected void onPreExecute() {
      // Show Progress Dialog Here 

      }

}   

并在按钮上单击 Execute :

     new LongOperation.execute();
于 2013-07-06T11:56:04.537 回答