gpt4 book ai didi

java - 首选项 XML 中不允许使用该元素?

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:21 25 4
gpt4 key购买 nike

我正在 android 项目中研究偏好。我想在 EditTextPreference 中获取整数值。我搜索了这个主题,并且可以使用这个 java 类。

import androidx.preference.EditTextPreference;

public class IntegerEditTextPreference extends EditTextPreference {

public IntegerEditTextPreference(Context context) {
super(context);
}

public IntegerEditTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}

public IntegerEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected String getPersistedString(String defaultReturnValue) {
int defaultValue = -1;
try {
defaultValue = Integer.valueOf(defaultReturnValue);
} catch(NumberFormatException e) {

}

return String.valueOf(getPersistedInt(defaultValue));
}

@Override
protected boolean persistString(String value) {
return persistInt(Integer.valueOf(value));
}
}

但是,我不能在 XML 中使用。当我使用时;

   <com.example.A.IntegerEditTextPreference
android:defaultValue="80"
android:inputType="numberPassword"
android:key="Speed"
android:persistent="false"
android:numeric="integer"
android:maxLength="3"
android:title="Choose Speed" />

我收到此错误:“此处不允许使用元素”。现在,我正在搜索,他们说我必须在可绘制对象中使用 xml 文件夹,但它是首选项 XML,所以我不能这样做。我能做什么?

编辑:我添加我的 xml 文件。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory android:title="Notification">
<SwitchPreference
android:defaultValue="false"
android:icon="@drawable/B"
android:key="B"
android:title="B" />
<SwitchPreference
android:defaultValue="false"
android:icon="@drawable/A"
android:key="A"
android:title="A" />

<com.example.A.IntegerEditTextPreference
android:defaultValue="80"
android:inputType="numberPassword"
android:key="Speed"
android:persistent="false"
android:numeric="integer"
android:maxLength="3"
android:title="Choose Speed" />
</PreferenceCategory>
</PreferenceScreen>

最佳答案

您可以限制 EditTextPreference。但是,当你得到这个值时,转换Integer或其他值。

<EditTextPreference
android:key="Speed"
android:selectAllOnFocus="true"
android:singleLine="true"
android:summary="A"
android:title="A" />

关于java - 首选项 XML 中不允许使用该元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56935317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com