簡體   English   中英

如何顯示另一個線程的警報對話?

[英]How to show alert dialogue from another thread?

我有一個具有鏈接到布局的類的應用程序。 然后,此布局在另一個線程中運行一個進程,以避免凍結布局。 最終,第二個線程中的代碼應該顯示第一個線程中的布局對話框。 代碼正在運行。 我知道這一點是因為我在其末尾添加了打印聲明,但沒有顯示對話。

那么,一旦線程完成,如何使對話框顯示出來? 據我所知,我不能只是將其放入另一個線程中,所以我很困惑。 任何幫助,將不勝感激。

在onCreate()中創建Handler對象

 mHandler=new Handler();

然后

在您要顯示對話框或更新任何UI視圖的線程內編寫以下代碼。

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

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

有關更多信息,請參閱Android中的后台處理。

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

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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