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

标签 android

这里我有一个奇怪的问题,有一种方法可以刷新我的 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/

相关文章:

android - 是否可以为 Android 编写 GPU 程序

java - 布局未显示为图形布局中所示?

android - 编译gradle文件中的问题

android - 通知点击 : activity already open

javascript - 在 Android 和 iPhone 的 JS 链接标签上触发点击事件

java - <String, Object> 或 <String, String> 的 Android HashMap

android - 解码器初始化失败 : OMX. qcom.video.decoder.avc,

android - 如何在布局编辑器中模拟沉浸式模式

java - 布局充气器 nullPointerException

java - 安卓系统Webview