Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //fragment
- private var notices = listOf<String>()
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- viewModel = obtainViewModel(FindingOpponentViewModel::class.java).apply {
- observe(changeSlide, {
- if (vpGuide.currentItem == notices.size - 1) {
- vpGuide.currentItem = 0
- } else {
- vpGuide.currentItem = vpGuide.currentItem + 1
- }
- })
- startChangeSlideEvent()
- }
- //...
- vpGuide.apply {
- adapter = NoticePagerAdapter(notices)
- offscreenPageLimit = notices.size - 1
- addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
- override fun onPageScrollStateChanged(p0: Int) {
- }
- override fun onPageScrolled(p0: Int, p1: Float, p2: Int) {
- }
- override fun onPageSelected(p0: Int) {
- viewModel.startChangeSlideEvent()
- }
- })
- }
- }
- // viewModel
- val changeSlide = SingleLiveData<Boolean>()
- var eventDisposable: Disposable? = null
- fun startChangeSlideEvent() {
- eventDisposable?.dispose()
- eventDisposable = Flowable.intervalRange(0, 1, 3, 3, TimeUnit.SECONDS)
- .waitOnUI()
- .subscribe(
- { changeSlide.postValue(true) },
- { Timber.e(it) }
- )
- addDisposable(eventDisposable)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement