Выполнение задачи пользовательского интерфейса в doinbackground () в Android

Есть ли способ выполнить задачу пользовательского интерфейса в doinbackground () для AsyncTask. Я хорошо знаю, что лучше сделать это в методе onPostExecute. Но в моем случае, так как мне нужно использовать предупреждение многократного использования, возможность доступа к пользовательскому интерфейсу в моем doinbackground сэкономит мне много времени. То есть мне нужно настроить код на 46 мест, но для этого в doinbackground потребуется изменение только в одном месте.

заранее спасибо

Надеюсь, это решит вашу проблему

onPreExecute() { // some code #1 } doInBackground() { runOnUiThread(new Runnable() { public void run() { // some code #3 (Write your code here to run in UI thread) } }); } onPostExecute() { // some code #3 } 

Помимо обновления пользовательского интерфейса из onPostExecute() , есть два способа обновления интерфейса:

  1. Из doInBackground() путем реализации runOnUiThread()
  2. От onProgressUpdate()

FYI,

onProgressUpdate() – всякий раз, когда вы хотите обновить что-либо из doInBackground() , вам просто нужно использовать publishProgress(Progress...) чтобы опубликовать один или несколько единиц прогресса, он будет пинговать onProgressUpdate() для обновления в потоке пользовательского интерфейса.

Вы можете скорее использовать onProgressUpdate

Документы