如何解决使用导体库的Viewpager
我正在尝试使用导体库创建一个简单的viewpager。问题是要在类之间传递数据,以更改视图的背景颜色。我不知道控制器是如何工作的,但是我已经尽力了。以下是代码段:
MainActivity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
val router: Router?
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
router = attachRouter(this,view_pager,savedInstanceState)
if (!router.hasRootController()) {
router.setRoot(RouterTransaction.with(PagerController()))
}
}
}
PageController:
class PagerController : Controller() {
val colors = arrayOf(R.color.colorAccent,R.color.colorPrimary)
private val pagerAdapter = object : RouterPagerAdapter(this) {
override fun configureRouter(router: Router,position: Int) {
if (!router.hasRootController()) {
val page = ChildController()
router.setRoot(RouterTransaction.with(page))
}
}
override fun getCount(): Int {
return colors.size
}
}
override fun onCreateView(
inflater: LayoutInflater,container: ViewGroup,@Nullable savedViewState: Bundle?
): View {
return inflater.inflate(R.layout.activity_main,container,false)
}
override fun onAttach(view: View) {
view.view_pager.adapter = pagerAdapter
}
}
childController:
class ChildController : Controller() {
override fun onCreateView(
inflater: LayoutInflater,savedViewState: Bundle?
): View {
return inflater.inflate(R.layout.child_layout,false)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。