簡體   English   中英

彈出對話框后控制底層元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM