Внимание.Еще одно доказательство концептуального кода: вы можете попробовать запустить поток при клике, как в:
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { //cancels itself?
Thread thread= new Thread( new Runnable() {
public void run() {
try{
Thread.sleep(3000); //<== mimic time intensive task
}
catch(Exception e){
}
Log.d(TAG,"done");
myHandler.sendEmptyMessage(0);
}
});
thread.setDaemon(true);
thread.start();
dialog.dismiss();
}
});
И перехватить сообщение в одном обработчике действий:
private Handler myHandler= new Handler(){
@Override
public void handleMessage(Message msg){
switch(msg.what){
case 0:
this.removeMessages(0);
Log.d(TAG,"gotit");
break;
default:
super.handleMessage(msg);
break;
}
}
};
Это НЕ БУДЕТработать, если вы пытаетесь прикоснуться к пользовательскому интерфейсу из новой темы.