我如何在我的异步任务类中使用圆形旋转进度条
Posted
技术标签:
【中文标题】我如何在我的异步任务类中使用圆形旋转进度条【英文标题】:How i can use circular spinning progress bar in my async task class 【发布时间】:2019-06-02 21:46:09 【问题描述】:我想在 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();
如果您需要任何其他信息,请发表评论。
【问题讨论】:
【参考方案1】:如果您想要任何自定义以在 asycTask 中显示进度条,您可以参考以下链接。 android custom progress indicator while doing AsyncTask
【讨论】:
【参考方案2】:对于我的项目,我有时会使用这种方法:
我将 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
中“关闭”它
【讨论】:
它不起作用兄弟,它给我错误,我在 2 个具有相同 ID 的片段中使用进度条。以上是关于我如何在我的异步任务类中使用圆形旋转进度条的主要内容,如果未能解决你的问题,请参考以下文章
当片段视图加载是异步任务的一部分时,如何在片段加载之前显示进度条?