android - 实现 AndroidX SeekBarPreference 时的问题
问题描述
我正在尝试将SeekBarPreference添加到我的Android 设置PreferenceScreen。例如,当我使用 EditTextPreference 时,一切正常,所以肯定是 SeekBar 导致了问题。
第一个问题:我可以用 指定一个最小值app:min=""
,但app:max=""
似乎不存在。我猜这是 API 中的一个错误,因为我在文档中找到了这个语句:
其他 SeekBar 特定属性(例如标题、摘要、defaultValue、min、max)可以直接在首选项小部件布局上设置。
第二个问题:当我使用下面的代码时,我的应用程序在打开设置时崩溃并显示以下消息: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:max="10"
对于您的第二个问题,请尝试清除您的应用数据。
推荐阅读
- python - Python MySQL - 如果其他列中的值相等,则合并(相加)表中某些列中的值
- python - linux中“find”命令中的子进程stdout readline()编码错误
- python-3.x - 如何抓取没有特定类的文本
- python - 基数为 10 的 int() 的无效文字:'1 2 3 89 4 10'
- javascript - 当我使用 jquery 动态添加新表单输入时,Select2 输入不起作用
- uwp-xaml - 如何将 ContentDialog 添加到我的 XAML 而不会收到有关它的错误消息?
- php - 为什么使用“重定向”功能重定向到其他控制器后CODEIGNITER会丢失会话?
- javascript - 类型错误:mapLayers[i].getSource 不是函数
- angular - 如何解决“角度”和对象关系数据库“表之间的类型转换问题
- powershell - 调用命令返回不一致的值