検索

ホームページ  >  に質問  >  本文

android - RxJava使用from操作符之后怎么每次发射数据时延迟一段时间

为了使用RxJava实现在ImageView中每隔指定时间加载一张系统图片的效果,

Observable.from(getUri()).timer(2,TimeUnit.SECONDS).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(uri
-> {
            Log.e("uri",uri+"");
            Glide.with(this).load(uri).into(img);}); 
            }

在getUri()中返回了一个ArrayList<Uri>对象,然后每次发射一个uri到订阅者中,怎么让这个发射过程延迟调用。
使用timer操作符出现了以下错误:Unknown type class java.lang.Long. You must provide a Model of a type for which there is a registered ModelLoader, if you are using a custom model, you must first call Glide#register with a ModelLoaderFactory for your custom model class

高洛峰高洛峰2888日前509

全員に返信(3)返信します

  • 天蓬老师

    天蓬老师2017-04-17 18:02:49

    このエラーは Glide によって引き起こされているようで、Timer とは何の関係もありません。

    タイマーは一度だけ実行される遅延発光機能です。定期的にデータを送信したい場合は、間隔機能を試してください:

    リーリー

    返事
    0
  • 迷茫

    迷茫2017-04-17 18:02:49

    スケジュールされたタスクの場合は、間隔から開始する必要があります。常にデータから開始することを考える必要はありません

    リーリー

    元の投稿者の間違いは、タイマーが静的メソッドであり、前の from(getUri()) がまったく影響を及ぼさないことです。送信されるのは画像アドレスではなく、サイクル数です。グライドに投げたら型が違う。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 18:02:49

    from の後に遅延をたどるだけです。具体的な API は次のとおりです http://reactivex.io/RxJava/javadoc/rx/Observable.html#lay(rx.functions.Func1)

    返事
    0
  • キャンセル返事