2017-04-02 9 views
1

私はListViewから古いものを削除したいので、アクティビティのハンドラとして定期的なスケジューラを定義しました。RxJavaの定期スケジューラ

private Handler handler = new Handler(); 
private Runnable runnableCode = new Runnable() { 
    @Override 
    public void run() { 
     doSomethingOnRecyclerView(); 
     handler.postDelayed(runnableCode, 2000); 
    } 
}; 
handler.post(runnableCode); 

それは動作しますが、しかし、私はRxJava、MVPと短剣を使用するようにアプリケーションをリファクタリングしています。 RxJavaで定期的にスケジューラを実行するには? MVPアーキテクチャでは、プレゼンターのどこに保管しますか?

+1

'Observable.interval()'˙? – EpicPandaForce

答えて

1

私は、ハンドラをプレゼンタクラスに配置し、各インターバルで適切なビューメソッドを呼び出すようにしました。 RXでは、エミッタ(またはフロアブル?)をx秒ごとに発生させることができます。これにより、コード内にあるのと同じことが達成されます。

スケジューラを発表者のライフサイクルに接続してください。

関連する問題