2015-08-22 74 views
-4

我正在通過GCM從服務器接收數據。我想在Activity上更新ListView。但是,當我收到數據時,它在BroadcastReceiver中。我如何將這些數據發送到Activity,以便我可以更新ListView。接收活動中的GCM數據

編輯:

我正在開發一個RSS應用程序。首先,我使用MainActivity從我自己的服務器獲取所有RSS數據並將其顯示在ListView中。當新數據添加到服務器時,我使用GCM獲取通知。我在單獨的課程中獲得新數據並將這些數據存儲在List<FeedItem>中。但是,問題是我不知道如何將新的List<FeedItem>數據發送到MainActivity來顯示它。它就像FaceBook中的「新Feed」。

+0

您的mainActivity和其他活動在哪裏? – Rustam

+0

信息太少。至少顯示你的代碼。 –

+0

你已經試過了嗎??? – Pankaj

回答

1

當您在接收器中接收到數據時,您需要再次廣播該廣播,並在播放時將廣播接收器設置爲活動更新列表。

public void sendBroadcast() 
{ 
    Intent intent = new Intent("send"); 
    intent.putExtra("current speed", "102.4"); 
    intent.putExtra("latitude", "12.2342342"); 
    intent.putExtra("longitude", "12.21124"); 
    LocalBroadcastManager.getInstance(context).sendBroadcast(intent); 
} 
1

可以使用broadcast reciverinterface更新您的列表視圖。 以及其他解決方案,您的情況是使用服務。 因爲我用我的服務下面的代碼:

public void updateConversationUi() { 
    if (mOnConversationUpdate != null) { 
     mOnConversationUpdate.onConversationUpdate(); 
    } 
} 

其中onConversationUpdate是接口,調用時的任何變化來抓列表視圖。