2012-01-31 8 views
1

サンプルアプリケーションをListActivtyで実装しました.CustomAdapterを使用しましたが、Webサービスから配列のテキストを取得しています。これらのメッセージはlist.whenとして表示されています。更新されたメッセージをサービスから取得するには私は広範なキャストレシーバを受信に使用しています。私の広範なキャスト受信者クラスでは、Alaram mangerを使用してlatesメッセージを取得できます。この場合、ユーザー。メッセージは、Webサービスからのintial valluesを表示するために得るために、以下のように私は、コードを書かれているアンドロイドのUIでListViewを更新するには?

:あなたはIntentServiceを使用することができ、その場合には

usrMessages = new String[resultShoutMessage.size()]; 
    userName = new String[resultShoutMessage.size()]; 
    imgid = new Integer[resultShoutMessage.size()]; 

    for(int i=0;i<resultShoutMessage.size();i++) 
    { 
     Log.v("ShoutGetMsgsScreen", "resultMessage*******>>>>"+resultShoutMessage.get(i).getShoutMessageText()); 
     Log.v("ShoutGetMsgsScreen", "resultShoutNames*******>>>>"+resultShoutMessage.get(i).getShoutUserFirstName()); 
     usrMessages[i] = resultShoutMessage.get(i).getShoutMessageText(); 
     userName[i] = resultShoutMessage.get(i).getShoutUserFirstName(); 
     imgid[i] = R.drawable.person; 
    } 
+2

アクティビティ内でBroadcast Recieverが宣言されている場合は、単にアダプタを再初期化するか、(データを更新した後に)notifyDatasetChanged()を呼び出すだけです....そのアクティビティを呼び出すインテントを 'onNewIntent'で起動します。新しいコンテンツ – st0le

答えて

1

WebServiceからデータがダウンロードされたときにそれを聞き取り、実行してUIを更新するBroadCastReceiverを登録します。インテントをonHandleIntent()に渡し、バックグラウンドプロセスを実行し、sendBroadCastにUIを更新します。 Hereはその例です。

関連する問題