我有需要在AsyncTask之間進行用戶輸入的場景,但doInBackground無法顯示UI。 場景: 按鈕點擊,將有服務呼叫,根據服務呼叫的結果,我要顯示確認對話框,如果用戶點擊是,那麼會有另一個服務呼叫,如果用戶點擊否,則不同的服務呼叫。在顯示ProgressDialog時遇到問題。如何獲取AsyncTask中的用戶輸入Android
計劃工作流程:
btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { bool result = Method1(); if(result){ ShowConfirmation(new YesCallBackHelper() {Method2();}, new NoCallBackHelper() {Method3();}); } else{ Method3(); } } }); private bool Method1() { return ServiceCall1(); } private bool Method2() { return ServiceCall2(); } private bool Method3() { return ServiceCall3(); }
同意@ vickey的答案。爲了從後臺線程更新UI,您需要將您的邏輯放在runOnUiThread中。 – Radhey