Как передать значение - PullRequest
1 голос
/ 10 ноября 2019

Как получить значение time из этого кода

val TAG = MainActivity::class.java.name
TrueTimeRx.build()

    .initializeRx("time.google.com")

    .subscribeOn(Schedulers.io())

    .subscribe({ time ->
        Log.v(TAG, "TrueTime was initialized and we have a time: $time") },
        { throwable -> throwable.printStackTrace() }

    )

и поместить его в этот код

helloWorld=findViewById(R.id.helloWorld)

val newTime=getString(R.string.hello, time)
helloWorld.text=newTime

как извлечь time из первой части кодаи поместить его во второй

код выше находится в onCreate()

, и если это важно, у меня есть это

internal lateinit var helloWorld: TextView

1 Ответ

1 голос
/ 10 ноября 2019

Значение будет доступно в блоке подписчика:

TrueTimeRx.build()
    .initializeRx("time.google.com")
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe({ time ->
      Log.v(TAG, "TrueTime was initialized and we have a time: $time")
      val newTime = getString(R.string.hello, time)
      helloWorld.text = newTime
    }, { throwable -> throwable.printStackTrace() }
    )

Обратите внимание, что вам нужно observeOn(AndroidSchedulers.mainThread()), чтобы иметь возможность изменять Просмотр содержимого внутри блока.

...