弹出对话框后控制底层元素

时间:2012-12-11 12:24:45

标签: android

我通过调用具有透明主题的intent来从Application上下文弹出一个对话框。(Similar到这里提到的。) pop是一个只读。问题是当弹出窗口显示当前活动在后台进行时。弹出窗口显示时,我也需要能够访问后台活动。我添加了以下两行,但我仍然无法控制基础活动:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你必须在一个帖子中打开对话框,你没有解释你想在后台做什么,但是为了让一个线程做到这一点: 创建一个名为thread1的新类,然后在那里写下:

public class thread1 extends Thread {
MainActivity activity;
public  thread1(MainActivity m){
activity=m;
ProgressDialog pd;
//other code maybe for specification
pd=ProgressDialog.show(activity,"", "wait for background activity");
}
@Override
public void run(){
         //you code working in background here like:
         activity.sucess=0;
         while (activity.sucess==0){
        android.os.SystemClock.sleep(300);  
    }
    pd.dismiss();
}
}

每当你想打开这个pb时,你应该写这个,

thread1 t1=new thread1(this);
t1.start();

当你的工作完成并想要关闭pb时,你必须设置sucess = 1然后线程将被杀死。