我想在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();
}
如果您需要其他任何信息,请发表评论。
答案 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