我使用ProgressDialog
与线程或AsyncTask
。
AsyncTask
和线程工作。但是在完成工作时ProgressDialog
解雇并使力量接近。
在onCreate()
我称之为
new myAsyncTask().execute();
的AsyncTask
private class myAsyncTask extends AsyncTask<Void, Void, String>
{
ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(MainActivity.this, "", "Please Wait !",true,false);
}
@Override
protected String doInBackground(Void... params) {
startProgram();
return "";
}
@Override
protected void onPostExecute(String result) {
if (dialog.isShowing())
dialog.dismiss();
}
}
答案 0 :(得分:1)
答案 1 :(得分:1)
从doInBackground
startProgram
拨打Toast
,显示Toasts
- 这就是导致异常的原因。
必须从UI线程创建{{1}}。
答案 2 :(得分:0)
Toast
中无法doInBackground()
。 Toast
需要在UI线程上运行。
答案 3 :(得分:0)
试试这个
runOnUIThread
内的doInBackground()
。