实现AndroidX SeekBarPreference时的问题

问题描述 投票:0回答:1

我想添加一个 SeekBarPreference 对我 安卓设置 PreferenceScreen.例如,当我使用EditTextPreference时,一切都能正常工作,所以肯定是SeekBar引起了问题。

第一个问题:我可以使用 app:min=""app:max="" 似乎并不存在... 我猜这是API中的一个bug,因为我在文档中找到了这句话。

其他SeekBar的特定属性(如标题,摘要,默认值,最小,最大)可以直接在偏好小部件布局上设置。

第二个问题:当我使用下面的代码时,我的应用程序在打开设置时崩溃,并出现以下信息。Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

我的代码:

public class PreferenceFragment extends PreferenceFragmentCompat {

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        setPreferencesFromResource(R.xml.settings, rootKey);
    }
}

我的代码:

<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">

    <PreferenceCategory
        app:key="category_playback"
        app:title="Playback">

        <SeekBarPreference
            app:defaultValue="15"
            app:key="skip_time"
            app:min="5"
            app:summary="Seconds to skip"
            app:title="Skip time" />

    </PreferenceCategory>

</PreferenceScreen>

谁有办法解决这个问题?如果没有解决方法,我会尝试用程序实现。

谢谢。

android androidx android-preferences android-seekbar android-settings
1个回答
0
投票

对于你的 第一个问题 使用。

android:max="10"

为您 第二个问题,尝试清除你的应用程序数据。

© www.soinside.com 2019 - 2024. All rights reserved.