Быстро: ViewFlipper и OnPageChangeListener - sashatinkoff/A18 GitHub Wiki

Вот прям быстро и без слов (почти):

  1. Создадим extension функцию для ViewFlipper, в которой будем отслеживать изменения currentDisplayedChild:

     fun ViewFlipper.addOnChangeListener(onChange: (Int) -> Unit) {
     addOnLayoutChangeListener(object : View.OnLayoutChangeListener {
         private var currentDisplayed = -1
    
         override fun onLayoutChange(
             v: View?,
             left: Int,
             top: Int,
             right: Int,
             bottom: Int,
             oldLeft: Int,
             oldTop: Int,
             oldRight: Int,
             oldBottom: Int
         ) {
             if (currentDisplayed != displayedChild) {
                 onChange(displayedChild)
                 currentDisplayed = displayedChild
             }
         }
     })
     }`
    
  2. Все что остается - в коде добавить к viewflipper наш листенер

     viewflipper.addOnChangeListener { Log.i("", "onPageChange $it") }