Я пишу XMPP-клиент, используя SMACK.
Поэтому, когда я хочу обновить свой contactList - ListAdapter.notifyDataSetChanged должен запускаться в потоке пользовательского интерфейса, но, очевидно, библиотека SMACK использует многопоточность вRosterListener (что на самом деле хорошо).Но вот проблема: запустить с.т.в потоке пользовательского интерфейса мне нужен действительный контекст.
Но как мне его получить?Передача контекста действия в функцию регистра RosterListener была первой, что пришло в голову - но у меня есть некоторые функции в разных классах, прежде чем я даже доберусь до функции регистрации, и мне не очень нравится ее передаватьконтекст снова и снова, пока он, наконец, не достигнет своего места назначения, где он будет использоваться.
Думаю, я не единственный, кто столкнулся с этой проблемой, так как бы вы решили ее?
Может быть, Singleton, просто чтобы сохранить этот контекст (на мой взгляд, еще менее благоприятная идея ...) Или, может быть, весь мой дизайн имеет недостатки?Есть ли возможность получить поток пользовательского интерфейса из любого места?
Итог: у меня нет ни малейшего понятия, как его обрабатывать, в данный момент я передаю контекст в качестве аргумента через несколько функций, ноЕсть ли лучший способ сделать это.
Спасибо за любую помощь.