Kotlin 如何创建无限间隔可观测,将发射新的对象,每一个时间间隔?

Kotlin 如何创建无限间隔可观测,将发射新的对象,每一个时间间隔?,kotlin,rx-java,rx-java2,Kotlin,Rx Java,Rx Java2,我试图创建一个每秒都会发射新物体的可观测物体。 所以现在我只是压缩一个可观测值,它从一个列表中发射有限数量的对象,间隔可观测 val list1 = mutableListOf<SomeClass1>( SomeClass1("1", 1), SomeClass1("2", 2), SomeClass1("3", 3), SomeClass1("4", 4), SomeClass1("5", 5), SomeClass1("6",

我试图创建一个每秒都会发射新物体的可观测物体。 所以现在我只是压缩一个可观测值,它从一个列表中发射有限数量的对象,间隔可观测

   val list1 = mutableListOf<SomeClass1>(
            SomeClass1("1", 1), SomeClass1("2", 2), SomeClass1("3", 3),
            SomeClass1("4", 4), SomeClass1("5", 5), SomeClass1("6", 6),
            SomeClass1("7", 7), SomeClass1("8", 8), SomeClass1("9", 9)
    )

    val someClass1Observable = Observable
            .fromIterable(list1)
            .zipWith(Observable.interval(2, TimeUnit.SECONDS),
                    BiFunction { item: SomeClass1, _: Long -> item })
val list1=mutableListOf(
一些类别1(“1”,1),一些类别1(“2”,2),一些类别1(“3”,3),
一些类别1(“4”,4),一些类别1(“5”,5),一些类别1(“6”,6),
有些类别1(“7”,7),有些类别1(“8”,8),有些类别1(“9”,9)
)
val=可观察到的
.fromIterable(列表1)
.zipWith(可观察的时间间隔(2,时间单位秒),
双功能{item:SomeClass1,ux:Long->item})

那么,如何真正使这个无限大,每2秒钟就会有一个类SomeClass1的Emited新对象,带有一些参数?

以下是我问题的答案,它满足了我的要求:

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    var counter = 0

    val periodicSomeClass1 = Observable.interval(1, TimeUnit.SECONDS)
            .flatMap(
                    {
                        counter++
                        Observable.just(SomeClass1("$counter", counter))
                    }
            )


    periodicSomeClass1.subscribe { t: SomeClass1 -> Log.v("periodicSomeClass1", t.toString())  }

}

如何确定
n
th
SomeClass1
对象的实际值?它是否仅取决于
n
的值,即。E在溪流中的位置?它是否取决于以前发出的项目?@david.mihola如果您对我的意图感兴趣,请检查我的答案好,在这种情况下,我会将答案更改为:
Observable.interval(1,TimeUnit.SECONDS)。map({SomeClass($it),it)})
。这是因为interval发出连续的整数,从0开始-您不需要任何外部可变状态。另外,
flatMap
只有一个
的内部几乎不需要,在这种情况下只需使用
map
。@david.mihola谢谢,你认为这会导致我的另一个问题吗:?