小编Dem*_*Wav的帖子

Android - AsyncTask - onPreExecute()在doInBackground()完成后运行

我试图在onPreExecute()中启动ProgressDialog时出现AsyncTask,做一些事情doInBackground(),并关闭ProgressDialogin onPostExecute().

在任何地方,我认为这应该是简单而直接的,但我必须做错事.

每当我点击Button我的应用程序进行更新并AsyncTask运行应用程序冻结,等待一点,然后ProgressDialog立即出现并消失,工作doInBackground()完成.我不明白为什么onPreExecute()会被追赶doInBackground(),但这似乎正是这里发生的事情.这是代码:

public class UpdateStats extends AsyncTask<CatchAPI, Void, String[]> {

    private ProgressDialog pdia;
    private Context context;
    private APIParser parser = new APIParser();

    public UpdateStats(Context contexts) {
        context = contexts;
    }

    @Override
    protected void onPreExecute() {
        pdia = new ProgressDialog(context);
        pdia.setMessage("Loading...");
        pdia.show();
        super.onPreExecute();
    }

    @Override
    protected String[] doInBackground(CatchAPI... api) {

        String apiOutput = api[0].returnAPI();

        return new String[] { …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

1
推荐指数
1
解决办法
6743
查看次数

标签 统计

android ×1

android-asynctask ×1