1

我从 Android 开发开始。我有一个异步操作,但我的意图是等待操作完成,然后继续执行我的程序。我使用了 AsyncTask 及其所有方法,但出现错误,因为在 onPreExecute 方法上我想显示另一个 Activity,所以我想我不能显示另一个 Activity。这就是我想等待完成异步操作的原因。

问候

第一次编辑:我使用了 AsyncTask(onPreExecute, doInBa..., onPost...),但没有一个方法有效。我了解 AsyncTask 类的工作原理,但是我想在调用一个异步第三方方法时停止执行,因为在需要的侦听器中,我更改了字符串变量 X 的值,并在调用我的方法后使用了第三方方法,我使用变量 X。我得到了一个例外,因为变量没有更新。

4

2 回答 2

1

请阅读并遵循AsynTask的示例。您需要覆盖 onPostExecute

于 2012-11-06T01:46:21.887 回答
0

不完全确定问题是什么,但 AsynTask 有一个方法,您可以在一切完成后调用该方法。一个好的做法是有一个对话框或微调器来显示工作正在发生,然后将其关闭。

    class loadingTask extends AsyncTask<String, Void, String> {

        protected String doInBackground(String... urls) {
            //Do work

        }

        protected void onPostExecute(String s) {
            ShowProgress.dismiss();

            Intent myIntent = new Intent(this, PostExAct.class);
            startActivity(myIntent);

        }
    }

在您的创建中:

ShowProgress = ProgressDialog.show(MainActivity.this, "",
            "Loading. Please wait...", true);
    new loadingTask().execute("params here");

这将显示一个加载对话框,并且在工作完成时将在工作完成后关闭。

于 2012-11-06T01:59:22.767 回答