SMACK을 사용하여 XMPP 클라이언트를 작성하고 있습니다.안드로이드 runOnUiThread - Activity 전달 방법
연락처 목록을 업데이트하려면 ListAdapter.notifyDataSetChanged가 UI 스레드에서 실행되어야하지만, 분명히 SMACK 라이브러리는 RosterListener에서 멀티 스레딩을 사용합니다. 실제로는 좋은 점입니다. 그러나 문제는 다음과 같습니다. UI 스레드에서 유효한 컨텍스트가 필요합니다.
하지만 어떻게받을 수 있습니까? 액티비티의 컨텍스트를 RosterListener의 레지스터 함수에 전달하는 것이 처음이었습니다.하지만 레지스터 함수에 도달하기 전에 다른 클래스의 일부 함수가 있습니다. 실제로 전달하기를 좋아하지 않습니다. 그 문맥은 마침내 목적지에 도달 할 때까지 계속해서 반복된다.
나는이 문제에 직면 한 유일한 사람이 아니라고 생각합니다. 어떻게 해결할 수 있습니까?
어쩌면 싱글 톤을 저장하는 것일 수도 있습니다. (내 의견으로는 훨씬 덜 유리한 생각 ...) 아니면 내 전체 디자인에 결함이 있습니까? 어디에서나 UI 스레드를 얻을 수 있습니까?
결론 : 나는 여러 가지 기능을 통해 논점으로 컨텍스트를 전달하는 순간을 처리하는 방법을 알지 못하지만이를 수행하는 더 좋은 방법이 있습니다.
도움 주셔서 감사합니다.
입니다. 특히 채팅 클라이언트의 경우 백그라운드 서비스가 매우 유용하며 문제가 해결됩니다. 고마워 ;-) –
그러면이 대답을 수락 하시겠습니까? –