[英]Control underlying elements after popping up a dialog
我正在通過調用具有透明主題的Intent從Application上下文中彈出一個對話框。( 類似於此處提到的內容。)pop是只讀的。問題是當顯示彈出窗口時,當前活動在后台進行。 顯示彈出窗口時,我還需要能夠訪問后台活動。 我添加了以下兩行,但是我仍然無法控制基礎活動:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
我究竟做錯了什么?
您必須在線程中打開對話框,您沒有對要在后台執行的操作進行過多解釋,但是要使線程執行此操作,請執行以下操作:創建一個名稱為: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設置為該線程將被殺死。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.