2011-11-10 5 views
1

私の質問は、インターネット経由でデータをダウンロードしているスレッドを実行しているときにUIを更新するにはどうすればいいですか?私はこのような何か場合:スレッドを実行している間のAndroidの更新アクティビティ

public void getCollectionsInfo(Context context){ 
    jsonColl = new JsonCollection(); 
    final Context acontext = context; 

    new Thread(new Runnable() { 
     public void run() { 
      jsonColl.executeInsert(acontext); 
     }}).start(); 

} 

をどのように私は私がjsonColl.executeInsert(acontext);を経由して受信データを示しています私の活動をリフレッシュすることができます。

ヘルプや提案の任意の種類を歓迎しています! ありがとうございます!ビューをリフレッシュ

+1

あなたはこのためにAsyncTaskを使用することができます。 doInBackground()メソッドはバックグラウンドスレッドとして機能し、progressUpdate()はUIを更新します –

答えて

2

回答は以下の通りです使用している場合は、アダプタ

  • notifyDataSetChanged()を呼び出します。

    public void getCollectionsInfo(Context context){ 
        jsonColl = new JsonCollection(); 
        final Context acontext = context; 
    
        new Thread(new Runnable() { 
         public void run() { 
          jsonColl.executeInsert(acontext); 
    mHandlerUpdateUi.post(mUpdateUpdateUi);  
    
         }}).start(); 
    
    } 
    
    final Handler mHandlerUpdateUi= new Handler(); 
    
        final Runnable mUpdateUpdateUi = new Runnable() { 
         public void run() { 
         //update ui here 
    
         } 
        }; 
    
  • 1

    invalidate()を呼び出すだけの問題です。問題のUI要素は何ですか?

    +0

    インターネット経由でダウンロードしたデータを表示するリストビューを更新する必要があります。 –

    +0

    データはリストのアダプタにどのように接続されていますか? – Reno

    +0

    私はすべてのデータをsqliteデータベースに保存していて、データベースからリストビューを読み込んでいます。 –

    関連する問題