gpt4 book ai didi

android - SetListAdapter 方法调用在服务中不起作用?

转载 作者:行者123 更新时间:2023-11-29 21:07:01 30 4
gpt4 key购买 nike

这里我有一个奇怪的问题,有一种方法可以刷新我的 ListView :

 setListAdaptor();

每当我从我的服务中调用此方法(以正确的方式)时,每当存在更改以更新列表时:

  @Override
public void presenceChanged(Presence presence) {

BusProvider.getInstance().post(new Reload());
// Log.i("XMPPChatDemoActivity ",presence.getFrom() + "presenceChanged
"+presence.getStatus());
}

它不起作用,但是当我将方法绑定(bind)到 onitemclick 时,在 ListView 上,它完美地完成了工作,有人知道这是为什么吗?我也试过 runOnUiThread!

最佳答案

使用了 Handler 并工作了,但它真的很奇怪

好吧,我在 fragment 中使用了 SetAdapterList 方法,因为 fragment 不在主线程上运行 - 因为具有选项卡寻呼机的 Activity 实际上是主线程,这就是为什么我们在 fragment 中调用 getactivity() 而不是(this) - 我无法从非 UI 或非主线程(主线程是 UI 线程)线程调用它,因此为此我需要创建一个方法 (Handler mHandler = new Handler(); ) 并使用它来发布我需要的内容这样做 - 使用静态方法或在我的情况下 eventBus Otto <3 - 就是这样..aaand 所以它从 OnListItemClick 方法工作的原因是因为它显然是从 UI 线程调用的..

关于android - SetListAdapter 方法调用在服务中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251948/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com