Я имею дело с устаревшим кодом. Моя задача - обработать результат асинхронной задачи.Доступ к внешним переменным внутри dispatchMessage
Я застрял в получении доступа к внешним объектам внутри метода dispessMessage. Есть ли какие-либо средства для достижения этого или я должен использовать Синглтон или статические свойства?
До сих пор я создал класс, отвечающий за работу в асинхронном режиме.
private class BackgroundTask extends AsyncTask<Object, Void, Boolean>
{
@Override
protected Boolean doInBackground(Object... params){
// ...
}
@Override
protected void onPostExecute(Boolean result){
// ...
}
}
Внутри OnPostExecute или метод doInBackground я хотел бы отправить сообщение с помощью обработчика, поэтому я нажимаю в некоторых простых вещей:
Message m = new Message();
Bundle b = new Bundle();
b.putString("sizeKEY", "size " + _count);
m.setData(b);
_handler.sendMessage(m);
И мне нужно обращаться к внешним объектам здесь :
new Handler(){
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
// get access to, say, Activity property or method here
}
}
Как это сделать?