我如何在异步任务类中使用循环旋转进度条

时间:2019-01-08 08:21:42

标签: java android android-studio android-asynctask progress-bar

我想在asynctask类中使用旋转进度条。下面是我的asynctask类代码。

在使用正常工作的进度对话框之前。

public class Downloader extends AsyncTask<Void,Void,Object> {


    Context c;
    String urlAddress;
    RecyclerView rv;
public Downloader(Context c, String urlAddress, RecyclerView rv) {
    this.c = c;
    this.urlAddress = urlAddress;
    this.rv = rv;
    }


@Override
protected void onPreExecute() {
    super.onPreExecute();
}

@Override
protected Object doInBackground(Void... voids) {
    return this.downloadData();
}

@Override
protected void onPostExecute(Object data) {
    super.onPostExecute(data);

    if(data.toString().startsWith("Error"))
    {
        Toast.makeText(c,data.toString(),Toast.LENGTH_SHORT).show();
    }else new RssParser(c, (InputStream) data, rv).execute();
}

private Object downloadData()
{
    Object connection=Connector.connect(urlAddress);
    if(connection.toString().startsWith("Error"))
    {
        return connection.toString();
    }

如果您需要其他任何信息,请发表评论。

2 个答案:

答案 0 :(得分:0)

如果您想要进行任何自定义以在asycTask中显示进度条,则可以参考以下链接。 Android custom progress indicator while doing AsyncTask

答案 1 :(得分:0)

对于我的项目,我有时使用这种方法:

我将ProgressBar附加到我的布局中,但是我看不到它。 在代码中,我编写了以下步骤:

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

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

       ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
            progressBar.setVisibility(ProgressBar.VISIBLE);

            //My code
            }




@Override
protected void onPostExecute(String strJson) {

    //My code

    ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
    progressBar.setVisibility(ProgressBar.INVISIBLE);



}

}

因此,我“打开” doInBackground中的ProgressBar,并“关闭” onPostExecute