Я створюю нитку в Android, щоб працювати багато часу. Я хочу, щоб у головному екрані з'явився діалогове вікно відтворення з повідомленням про те, що операція вже завершена, але я хочу, щоб це діалогове вікно було відхилено після завершення потоку. Я спробував приєднатись, але він блокує потоку і не показує діалогове вікно. Я спробував використовувати:
dialog.show();
mythread.start();
dialog.dismiss();
але тоді діалогове вікно не відображається. Як я можу зробити цю послідовність, але чекати закінчення потоку без блокування основного потоку?
Це наскільки я отримав:
public class syncDataElcanPos extends AsyncTask {
ProgressDialog pDialog;
Context cont;
public syncDataElcanPos(Context ctx) {
cont=ctx;
}
protected void onPreExecute() {
pDialog = ProgressDialog.show(cont,cont.getString(R.string.sync), cont.getString(R.string.sync_complete), true);
}
protected Void doInBackground(String... parts) {
//blablabla...
return null;
}
protected void onProgressUpdate(Integer... item) {
pDialog.setProgress(item[0]);//just for possible bar in a future.
}
protected void onPostExecute(Void unused) {
pDialog.dismiss();
}
Але коли я намагаюся виконати це, це дає мені виняток: "Не можу додати вікно".