2012-05-14 15 views
2

サーバーまたはローカルデータベースからのデータがあるとします。私はそれらをlistviewに表示しています。私は各リストビューitem.Nowで4つの5つのテキストビューを持っています毎回リストビューの項目を更新する(要件はこれだけのようなものです)。ListViewを毎秒更新する

これをどのように達成する必要がありますか? notifyDataSetChanged()は私が気づいています。

アクティビティが遅くならない堅牢なソリューションが必要です。

ご案内しています。

+1

私は最善の解決策が唯一notifyDataSetChangedされ、私はあなたが毎秒でリストビューを更新する必要がある理由である疑いを持っていますね。私は、あなたがデータを受け取るたびにそれをリフレッシュできると思います。 –

+0

更新されたデータを最初に表示しますか?この場合、活動は遅れます。 –

答えて

1

私はnotifyDataSetChangedを使用することがそれを行う唯一の方法だと思います。

なぜあなたはアクティビティが遅くなるかもしれないと思いますか?

+0

タイマー付きハンドラを使用して、リストとUIをリフレッシュします。 – Hulk

+0

ビューの一部の属性のみが変更されます。 getView()メソッドを正しく実装すると、notifyDataSetChangedの実行中にオブジェクトが作成されません。 –

+0

1つの要件のためにTextViewのバックグラウンドを絶えず更新したいと思います。これはlistviewの他のtextviewsの場合もそうです。 –

1

更新頻度を減らすべきだと思います。 1秒は更新には小さすぎます。 使用可能AsyncTask これを1秒ごとに実行します。 postDelay()

1
private Thread t; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 



     t = new Thread(){ 
      @Override 
      public void run() { 
       try { 
        synchronized(this){ 
         wait(2000); // set time whatever you want 
        } 


       } 
       catch(InterruptedException ex){ 
        ex.printStackTrace(); 
       } 

       lv.clear(); 
       onCreate(null); 
      } 
     }; 
      t.start(); 
    } 

の助けを借りて、これを試してください。..

+0

さて、このソリューションは私の心の中にあります。ビューを変動させることなく、onCreateリフレッシュ・アクティビティでnullを渡してください:) –

+0

hv uでそれを行いましたか? –

関連する問題