使用导体库的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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...