我有一個應用程序,它有一個鏈接到佈局的類。此佈局然後在另一個線程中運行一個進程以避免凍結佈局。最終,第二個線程中的代碼應該在第一個線程中顯示關於佈局的對話。代碼正在運行。我知道這一點,因爲我在最後打印了一篇聲明,但對話沒有出現。如何顯示來自另一個線程的提示對話?
那麼一旦線程完成後,我該如何讓對話顯示出來呢?據我所知,我不能把它塞進另一個線程,所以我很難過。任何幫助,將不勝感激。
我有一個應用程序,它有一個鏈接到佈局的類。此佈局然後在另一個線程中運行一個進程以避免凍結佈局。最終,第二個線程中的代碼應該在第一個線程中顯示關於佈局的對話。代碼正在運行。我知道這一點,因爲我在最後打印了一篇聲明,但對話沒有出現。如何顯示來自另一個線程的提示對話?
那麼一旦線程完成後,我該如何讓對話顯示出來呢?據我所知,我不能把它塞進另一個線程,所以我很難過。任何幫助,將不勝感激。
中的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
您需要使用線程中的runOnUiThread來訪問您的視圖並對其進行更新/編輯。
runOnUiThread(new Runnable() {
@Override
public void run() {
btn.setText("#");
//show your dialog here
//do your work here
}
});
,如果您使用的片段只是增加getActivity()
之前runOnUiThread
這完美地工作。非常感激! –