Это проблема, с которой я часто сталкиваюсь при использовании Asyntask.Чтобы связаться с потоком пользовательского интерфейса, нужно вызвать publishProgress (), и этот метод принимает массив только с одним параметром TYPE .
Потоку, работающему в фоновом режиме и выполняющему сложные вычисления, может потребоваться обновить пользовательский интерфейс в разных точках, используя различные типы объекта.
Позвольте мне проиллюстрировать это на примере:
...do some processing...
// Send UI thread the integer values of the width & height of the image
...do some more processing...
// Send UI thread a String with custom message.
...do some more processing...
// Send UI thread an instance of MyObject so it can extract & display certain values
...do some cleanup job & finish...
Однако onProgressUpdate () принимает массив только одного типа.
Поэтому я могу сделать это всеобъемлющим Объект Тип?Как я знаю, как преуменьшить его, так как этот метод может быть вызван из строки 1, 2 или 3, который сейчас час?
Наверняка должен быть хороший способ добиться этого?
РЕДАКТИРОВАТЬ: То, что я действительно хотел бы видеть, если бы это было возможно в Android, было бы каким-то образом определить publishProgress1 (пользовательские args1) , publishProgress2 (пользовательские args2) , publishProgress3 (пользовательские args3) ...