未找到 Androidx SeekBarPreference xml 属性 setMax

Posted

技术标签:

【中文标题】未找到 Androidx SeekBarPreference xml 属性 setMax【英文标题】:Androidx SeekBarPreference xml attribute setMax not found 【发布时间】:2019-09-28 21:27:58 【问题描述】:

我正在尝试实现 androidx SeekBarPreference,根据 docs 我也许可以在我的 xml 中使用 setMax 属性,但是这样做时出现以下错误:

在xml中:

<SeekBarPreference
    app:key="preference_key"
    app:title="@string/preference"
    app:showSeekBarValue="true"
    app:setMax="10"/>

错误:

root_preferences.xml:53: AAPT: error: attribute setMax (aka 
gls.dev.MyApplication:setMax) not found.

但是,在代码中设置属性时,它就像一个魅力:

findPreference<SeekBarPreference>("preference_key")?.apply 
    max = 10
    min = 1
    seekBarIncrement = 1
    isAdjustable = true

【问题讨论】:

【参考方案1】:

max 属性目前仅存在于 android: 命名空间中,因此您需要使用:

<SeekBarPreference
    app:key="preference_key"
    app:title="@string/preference"
    app:showSeekBarValue="true"
    android:max="10"/>

【讨论】:

使用 app:max => Error: attribute max not found, 使用 android:max => error: unbound prefix. app 命名空间中不存在 max 属性是否有原因?我认为它应该是,因为 SeekBarPreference 的所有其他属性实际上也存在。【参考方案2】:

您可以像这样设置搜索栏:

        <SeekBarPreference
        app:title="Choose value:"
        app:defaultValue="2"
        app:min="2"
        app:seekBarIncrement="1"
        android:max="12"
        app:key="key"
        app:adjustable="true"
        app:isPreferenceVisible="true"
        app:showSeekBarValue="true"/>

您还需要将其添加到您的根标签中:

xmlns:android="http://schemas.android.com/apk/res/android"

【讨论】:

【参考方案3】:

属性是max 而不是setMax。你必须这样做:

app:max="10"

【讨论】:

我不适合我,错误仍然存​​在root_preferences.xml:53: AAPT: error: attribute setMax (aka gls.dev.MyApplication:setMax) not found. 错误是说 setMax,而不是 max。您确定您确实将 app:setMax 更改为 app:max 吗? 对不起,我刚刚粘贴了与以前相同的错误,现在错误为root_preferences.xml:54: AAPT: error: attribute max (aka gls.dev.MyApplication:max) not found 按照@Louis 的建议尝试使用android:max 而不是app:max【参考方案4】:

你应该试试这个

在你的 XML 中

<SeekBarPreference
    app:key="preference_key"
    app:title="@string/preference"
    app:showSeekBarValue="true"
    app:max="10"/>

会有用的

【讨论】:

以上是关于未找到 Androidx SeekBarPreference xml 属性 setMax的主要内容,如果未能解决你的问题,请参考以下文章

您的应用未使用 AndroidX - Flutter 不允许我生成 apk

获取 android 房间数据库 java.lang.IllegalArgumentException 的以下异常:@androidx.room.Database 未定义元素视图()

添加 androidx.room:room-compiler:2.1.0-alpha05 后项目未编译

AndroidX没有找到类“android.support.v4.content.ContextCompat

Android:你好,androidX!再见,android.support

如何在 AndroidX 中实例化 ViewModel?