我正在使用asynctask中的exlend在preexicute中调用progressdialog而在postexicure中我使用dismiss . 当我尝试运行应用程序时,应用程序保持收集 .
public class DownloadText extends AsyncTask<String,String,String> {
TextView tv;
ImageView home,guest;
Context context;
private ProgressDialog progressDialog;
public DownloadText(TextView tv,Context context) {
this.tv=tv;
this.context=context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog=new ProgressDialog(context);
progressDialog.setMessage("loading...");
progressDialog.setCancelable(false);
progressDialog.show();
}
@Override
protected String doInBackground(String... strings) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Document document= null;
Elements score;
try {
document = Jsoup.connect(strings[1]).get();
} catch (IOException e) {
e.printStackTrace();
}
score=document.select(strings[0]);
return score.text();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
tv.setText(s);
progressDialog.dismiss();
}
@Override
protected void onCancelled() {
progressDialog.dismiss();
super.onCancelled();
}
}
E / WindowManager:android.view.WindowLeaked:Activity com.example.aviv.project1.SummeyAct泄露了窗口com.android.internal.policy.PhoneWindow $ DecorView {f838863 VE ..... R ...... D 0,0-1248,348}最初是在android.view.WindowManagerImpl的android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:309)的android.view.ViewRootImpl . (ViewRootImpl.java:469)中添加的 . 在Android.os.AsyncTask.executeOnExecutor的com.example.aviv.project1.DownloadText.onPreExecute(DownloadText.java:46)的android.app.Dialog.show(Dialog.java:328)中添加了View(WindowManagerImpl.java:85) (AsyncTask.java:604)位于android.os.Handler的com.example.aviv.project1.BoxScoreFragment $ 2 $ 1.run(BoxScoreFragment.java:107)的android.os.AsyncTask.execute(AsyncTask.java:551) . handleCallback(Handler.java:815)位于android.app.AooT.Thread.main上的android.os.Handler.dispatchMessage(Handler.java:104)android.os.Looper.loop(Looper.java:207)处于ActivityThread.java :5811)at java.lang.reflect.Method.invoke(Native方法)com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:907)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)