【发布时间】:2021-04-03 15:31:20
【问题描述】:
我在viewpager 中使用了recyclerview。现在我想在滚动回收站视图时更改fragment 的视图。
我正在使用mvvm 和liveData,我想使用viewModel 并将滚动数据发送到我的viewModel 和view 我observe 来自viewPager 适配器的viewModel 数据。
如何从viewPager 适配器发送数据并在其fragment 中使用它们?
val linearLayoutManager =
LinearLayoutManager(container.context, LinearLayoutManager.VERTICAL, false)
recCafeList = binding.recCafeList
recCafeList.layoutManager = linearLayoutManager
recCafeList.adapter = mAdapter
recCafeList.setOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val po = linearLayoutManager.findFirstVisibleItemPosition()
val po2 = linearLayoutManager.findFirstCompletelyVisibleItemPosition()
// I want to send @po and @po2 to viewModel and use them in fragment
Log.i("scrollListener", "$po //// $po2")
}
})
container.addView(binding.root)
return binding.root
【问题讨论】:
标签: android android-viewpager android-livedata android-viewmodel android-mvvm