Я не могу создать диалоговое окно внутри AsyncTask. Может кто-нибудь помочь здесь? Я получаю сообщение об ошибке "android.view.WindowManager $ BadTokenException: Невозможно добавить окно - токен null не для приложения".Не удается создать диалоговое окно внутри AsyncTask
Вот мой код:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AsyncTaskTest at=new AsyncTaskTest();
at.execute();
}
public class AsyncTaskTest extends AsyncTask<Void, String, Void> {
protected Void doInBackground(Void... vd){
try{
String desc = "Show Dialog without error";
publishProgress(desc);
}catch(Exception e){
publishProgress("Error: "+e.toString());
}
return null;
}
protected void onProgressUpdate(String... msg) {
showDialog(msg[0]);
}
private void showDialog(String msg){
final AlertDialog.Builder alertBox = new AlertDialog.Builder(new ContextThemeWrapper(getApplicationContext(), android.R.style.Theme_Dialog));
alertBox.setMessage(msg);
alertBox.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int id){
dialog.cancel();
}
}).show();
}
}
}
Вы можете сделать работу пользовательского интерфейса в '' onPreExecute' и onPostExecute' –
Я нашел этот вопрос здесь AReader .. Проблема с getApplicationContext(). Вместо этого я использовал «ма». И уже определена глобальная MainActivity ma; и назначил его «this» внутри onCreate(). Это сработало ! –