ProgressBar到没有xml的AsyncTask

时间:2017-10-17 18:20:34

标签: android android-asynctask android-progressbar

由于不推荐使用ProgressDialog,我想用ProgressBar更改它。 我为" MyAsyncTask"编写了这段代码,所以这并没有连接到任何xml文件,但是我看不到ProgressBar。

public class MyAsyncTask extends AsyncTask<String, String, String> {
    private ProgressBar pb;

    public MyAsyncTask(AsyncResponse listener, Context context) {
        this.pb = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal);
    }

    @Override
    protected void onPreExecute() {
        pb.setMax(100);
        pb.setVisibility(View.VISIBLE);
    }

    @Override
    protected String doInBackground(String... params) {
       for (; count <= params[0]; count++) {
            try {
                Thread.sleep(1000);
                publishProgress(count);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        return null;
    }

    protected void onProgressUpdate(String... values) {
        pb.setProgress(Integer.parseInt(values[0]));
    }

    @Override
    protected void onPostExecute(String result) {
        listener.onTaskCompleted(result);
        pb.setVisibility(View.GONE);
    }
}

是否有必要创建XML文件?

0 个答案:

没有答案