спасибо для вашей заботы CrowsNet, я понял, что это было.
Это было вызвано моим ViewPager трансформатором, я использую библиотеку
compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:[email protected]'
Когда я использую библиотеку, кажется, что ViewPager обновляет взгляды и выбранные элементы, но все события прикосновения оставаться на первой странице. Затем я сделал собственный трансформатор ViewPager (обновленный от https://developer.android.com/training/animation/screen-slide.html), и он отлично работает. Поэтому я просто избавился от библиотеки, мне нужно только одно преобразование.
Код OnCreate в моей деятельности
@UiThread
override fun onCreate(savedInstanceState: Bundle?) {
setContentView(R.layout.activity_home)
super.onCreate(savedInstanceState)
setSupportActionBar(toolbar)
// other declarations
[...]
// ViewPager and Tabs initialization
mHomePageAdapter = HomePagerAdapter(supportFragmentManager)
view_pager?.adapter = mHomePageAdapter
view_pager?.offscreenPageLimit = 4
view_pager?.setOnTouchListener(this)
// works, the one from Google, updated : https://code.google.com/p/android/issues/detail?id=58918
view_pager?.setPageTransformer(false, DepthPageTransformer(), ViewCompat.LAYER_TYPE_HARDWARE)
// doesn't work - from library
view_pager?.setPageTransformer(true, FlipHorizontalTransformer(), ViewCompat.LAYER_TYPE_HARDWARE)
// note that I've tried every combination of the function setPageTransformer (1, 2, 3 arguments)
tab_layout?.setupWithViewPager(view_pager)
val onTabSelectedListener = HomeTabSelectedListener()
tab_layout?.addOnTabSelectedListener(onTabSelectedListener)
onTabSelectedListener.onTabSelected(tab_layout?.getTabAt(0)!!)
if (savedInstanceState != null) {
selectedPage = savedInstanceState.getInt("selected_page")
}
view_pager?.currentItem = selectedPage
[...]
}
пожалуйста, напишите код, или мы не знаем, что происходит. – CrowsNet