forked from github/szkolny
[UI] Fix disabling pull to refresh when changing page using tab layout.
This commit is contained in:
parent
0db6393bb0
commit
b794b30346
@ -13,10 +13,12 @@ class LazyViewPager @JvmOverloads constructor(
|
|||||||
) : ViewPager(context, attrs) {
|
) : ViewPager(context, attrs) {
|
||||||
|
|
||||||
private var pageSelection = -1
|
private var pageSelection = -1
|
||||||
|
private var scrollState = 0
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addOnPageChangeListener(object : OnPageChangeListener {
|
addOnPageChangeListener(object : OnPageChangeListener {
|
||||||
override fun onPageScrollStateChanged(state: Int) {
|
override fun onPageScrollStateChanged(state: Int) {
|
||||||
|
scrollState = state
|
||||||
(adapter as? LazyPagerAdapter)?.let {
|
(adapter as? LazyPagerAdapter)?.let {
|
||||||
it.swipeRefreshLayout?.isEnabled = state == SCROLL_STATE_IDLE && it.enabledList[pageSelection, true]
|
it.swipeRefreshLayout?.isEnabled = state == SCROLL_STATE_IDLE && it.enabledList[pageSelection, true]
|
||||||
}
|
}
|
||||||
@ -28,7 +30,8 @@ class LazyViewPager @JvmOverloads constructor(
|
|||||||
|
|
||||||
override fun onPageSelected(position: Int) {
|
override fun onPageSelected(position: Int) {
|
||||||
pageSelection = position
|
pageSelection = position
|
||||||
if (adapter is LazyPagerAdapter) {
|
(adapter as? LazyPagerAdapter)?.let {
|
||||||
|
it.swipeRefreshLayout?.isEnabled = scrollState == SCROLL_STATE_IDLE && it.enabledList[pageSelection, true]
|
||||||
val fragment = adapter?.instantiateItem(this@LazyViewPager, position)
|
val fragment = adapter?.instantiateItem(this@LazyViewPager, position)
|
||||||
val lazyFragment = fragment as? LazyFragment
|
val lazyFragment = fragment as? LazyFragment
|
||||||
lazyFragment?.createPage()
|
lazyFragment?.createPage()
|
||||||
|
@ -93,6 +93,7 @@ class HomeworkListFragment : LazyFragment(), CoroutineScope {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
|
setSwipeToRefresh(false) // TODO
|
||||||
|
|
||||||
// show/hide relevant views
|
// show/hide relevant views
|
||||||
b.progressBar.isVisible = false
|
b.progressBar.isVisible = false
|
||||||
|
@ -64,6 +64,7 @@ class TemplateListFragment : Fragment(), CoroutineScope {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
|
b.refreshLayout.isEnabled = false // TODO
|
||||||
|
|
||||||
// show/hide relevant views
|
// show/hide relevant views
|
||||||
b.progressBar.isVisible = false
|
b.progressBar.isVisible = false
|
||||||
|
@ -64,6 +64,7 @@ class TemplateListPageFragment : LazyFragment(), CoroutineScope {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
|
setSwipeToRefresh(false) // TODO
|
||||||
|
|
||||||
// show/hide relevant views
|
// show/hide relevant views
|
||||||
b.progressBar.isVisible = false
|
b.progressBar.isVisible = false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user