Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.46 KB | None | 0 0
  1. //fragment
  2. private var notices = listOf<String>()
  3.  
  4. override fun onActivityCreated(savedInstanceState: Bundle?) {
  5.  
  6.         viewModel = obtainViewModel(FindingOpponentViewModel::class.java).apply {
  7.             observe(changeSlide, {
  8.                 if (vpGuide.currentItem == notices.size - 1) {
  9.                     vpGuide.currentItem = 0
  10.                 } else {
  11.                     vpGuide.currentItem = vpGuide.currentItem + 1
  12.                 }
  13.             })
  14.  
  15.             startChangeSlideEvent()
  16.         }
  17.  
  18.     //...
  19.     vpGuide.apply {
  20.         adapter = NoticePagerAdapter(notices)
  21.         offscreenPageLimit = notices.size - 1
  22.         addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
  23.             override fun onPageScrollStateChanged(p0: Int) {
  24.             }
  25.  
  26.             override fun onPageScrolled(p0: Int, p1: Float, p2: Int) {
  27.             }
  28.  
  29.             override fun onPageSelected(p0: Int) {
  30.                 viewModel.startChangeSlideEvent()
  31.             }
  32.         })
  33.     }
  34. }
  35.  
  36. // viewModel
  37. val changeSlide = SingleLiveData<Boolean>()
  38.  
  39. var eventDisposable: Disposable? = null
  40.  
  41. fun startChangeSlideEvent() {
  42.         eventDisposable?.dispose()
  43.  
  44.         eventDisposable = Flowable.intervalRange(0, 1, 3, 3, TimeUnit.SECONDS)
  45.                 .waitOnUI()
  46.                 .subscribe(
  47.                         { changeSlide.postValue(true) },
  48.                         { Timber.e(it) }
  49.                 )
  50.  
  51.         addDisposable(eventDisposable)
  52.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement