我正在尝试将SeekBarPreference添加到我的Android Settings PreferenceScreen中。 例如,当我使用EditTextPreference时,一切正常,因此肯定是SeekBar引起了问题。
第一个问题:我可以使用app:min=""
指定一个最小值,但是app:max=""
似乎不存在。我猜这是API中的错误,因为我在文档中找到了此语句:
其他SeekBar特定属性(例如标题,摘要,defaultvalue,最小值,最大值)可以直接在首选项小部件布局上设置。
第二个问题:当我使用下面的代码时,打开设置时,我的应用程序崩溃并显示以下消息: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>
有人知道如何解决它吗?如果没有解决方案,我将尝试以编程方式实施。
谢谢。