首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android PreferenceFragmentCompat标题空白

Android PreferenceFragmentCompat标题空白
EN

Stack Overflow用户
提问于 2018-11-17 11:47:33
回答 1查看 142关注 0票数 0

我不知道为什么使用这个片段会造成问题,似乎isIconSpaceReserved = false对不适用于preferenceCagory很有用

代码语言:javascript
复制
class TFragment : PreferenceFragmentCompat() {


override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
    val context = preferenceManager.context

    val screen = preferenceManager.createPreferenceScreen(context)

    val category1 = PreferenceCategory(context)
    category1.title = "button"
    category1.summary = "what is the problem"
    category1.key = "bbb"

    val swithButton = SwitchPreferenceCompat(context)
    swithButton.title = "button"
    swithButton.summary = "summary"
    swithButton.key = "sss"
    swithButton.isIconSpaceReserved = false


    val swithButton2 = EditTextPreference(context)
    swithButton2.title = "edit"

    val swithButton3 = SeekBarPreference(context)
    swithButton3.title = "seekbar"
    swithButton3.value = 1


    screen.addPreference(category1)
    category1.addPreference(swithButton)

    val category2 = PreferenceCategory(context)
    category2.title = "category2"

    screen.addPreference(category2)

    category2.addPreference(swithButton2)
    category2.addPreference(swithButton3)
    preferenceScreen = screen
}

风格是正常的,我尝试了很多方法,但它是无用的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-17 13:49:57

现在,我尝试了'androidx.preference:preference:1.1.0-alpha01‘,非常幸运,它修复了isIconSpaceReserved不支持PreferenceCategory的错误。

代码语言:javascript
复制
override fun setPreferenceScreen(preferenceScreen: PreferenceScreen?) {
    super.setPreferenceScreen(preferenceScreen)
    if (preferenceScreen != null) {
        val count = preferenceScreen.preferenceCount
        for (i in 0 until count) {
            if (preferenceScreen.getPreference(i) is PreferenceCategory) {
                val category = preferenceScreen.getPreference(i) as PreferenceCategory
                val childCount = category.preferenceCount
                for (j in 0 until childCount) {
                    category.getPreference(j).isIconSpaceReserved = false
                }
            }
            preferenceScreen.getPreference(i).isIconSpaceReserved = false
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53350922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档