其他分享
首页 > 其他分享> > Android(12)Preference(三)抽象管理

Android(12)Preference(三)抽象管理

作者:互联网

Android(12)Preference(三)抽象管理

问题发生背景:

假如我们现在有一个设置页面,虽然我们可以通过获取Preference实例去set一些ClickChange监听,但是当我们的业务逻辑增加并且复杂的时候,会发现我们每次都要先去找到一个实例才能去设置,这个时候就需要分离UI逻辑和数据逻辑了,比如我希望点击的时候只是通过传过来的key判断UI的变化,是跳转到下一个设置页面还是弹出一个对话框等;点击Switch改变值的时候通过key判断,意思就是把原来的点击处理一票子逻辑拆分成俩部分方便管理。

在这里插入图片描述

开始抽象,准备动手!

使用

在搞完通用的之后了,就可以使用了:

class MyActivity: BaseSettingsActivity() {
    override val hostFragmentName: String
        get() = MyFragemnt::class.java.name
    
    class MyFragemnt: BaseSettingsFragment() {
        override val xmlRes: Int
            get() = R.xml.settings

        /**
         * 处理 UI
         * 
         * @param preference Preference
         * @param prefKey String
         * @return Boolean
         */
        override fun handleInteractionLogic(preference: Preference, prefKey: String): Boolean {
            TODO("Not yet implemented")
        }

        /**
         * 处理 数据
         * 
         * @param preference Preference
         * @param prefKey String
         */
        override fun handleDataLogic(preference: Preference, prefKey: String) {
            TODO("Not yet implemented")
        }
    }
}

标签:12,String,param,Preference,override,Android,prefKey,preference
来源: https://blog.csdn.net/C_biubiubiu/article/details/122762930