Как я могу использовать индикатор выполнения кругового вращения в своем классе асинхронных задач - PullRequest
0 голосов
/ 08 января 2019

Я хочу использовать вращающийся индикатор выполнения в классе 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 голосов
/ 09 января 2019

Для своих проектов иногда я использую этот метод:

Я добавил 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);



}

}

Итак, я «включаю» ProgressBar в doInBackground и «выключаю» его в onPostExecute

0 голосов
/ 08 января 2019

Если вы хотите настроить отображение индикатора выполнения в asycTask, вы можете обратиться по следующей ссылке. Пользовательский индикатор прогресса Android при выполнении AsyncTask

...