2014-06-16 72 views
1

這裏我有一個奇怪的問題,有其刷新我的列表視圖的方法:SetListAdapter方法調用不起作用從服務?

setListAdaptor(); 

每當我把這種方法從我的服務(以正確的方式)每當存在改變爲更新列表:

@Override 
public void presenceChanged(Presence presence) { 

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

它不起作用,但是當我將方法綁定到onitemclick時,在listview上,它完美地完成了這項工作,是否有人知道爲什麼?我也嘗試過runOnUiThread!

+0

使用處理程序和工作,但它仍然真的很奇怪 – user3694470

回答

2

使用一個處理程序和工作過,怎麼過了很奇怪的

以及我曾在一個片段中SetAdapterList方法,因爲碎片不上主線程中運行 - 因爲它具有標籤尋呼機的活動實際上是主線程這就是爲什麼我們在片段中調用getactivity()而不是(這) - 我不能從非UI或非主要(主線程是UI線程)線程調用它,所以爲此我需要創建一個方法(Handler mHandler = new Handler();)並用它發佈我需要做的事情 - 用一個靜態方法或在我的情況eventBus Otto < 3 - thats all .. aa和它從OnListItemClick方法工作的原因是因爲它顯然是從UI線程調用的..

+0

你應該提供一個更詳細的答案,你做了什麼,它是如何工作的。 –

+0

更新了答案 – user3694470