2017-10-11 52 views
0

我有一個應用程序,它有一個鏈接到佈局的類。此佈局然後在另一個線程中運行一個進程以避免凍結佈局。最終,第二個線程中的代碼應該在第一個線程中顯示關於佈局的對話。代碼正在運行。我知道這一點,因爲我在最後打印了一篇聲明,但對話沒有出現。如何顯示來自另一個線程的提示對話?

那麼一旦線程完成後,我該如何讓對話顯示出來呢?據我所知,我不能把它塞進另一個線程,所以我很難過。任何幫助,將不勝感激。

回答

1

中的onCreate創建處理程序的對象()

mHandler=new Handler(); 

然後

寫下面的代碼你的線程裏面,你想要顯示對話框或更新任何UI視圖。

mHandler.post(new Runnable() { 
    public void run(){ 

     AlertDialog.Builder builder = new AlertDialog.Builder(YourActivity.this); 
     //Add all dialog prepaation code 
    } 
}); 

欲瞭解更多信息,請參閱Background processing in Android

+0

這完美地工作。非常感激! –

0

您需要使用線程中的runOnUiThread來訪問您的視圖並對其進行更新/編輯。

runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         btn.setText("#"); 
         //show your dialog here 
         //do your work here 
        } 
       }); 

,如果您使用的片段只是增加getActivity()之前runOnUiThread

相關問題