我已经定义了我的设置活动的布局,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceCategory
android:title="Second Category"
android:key="second_category">
<EditTextPreference
android:id="@+id/pcnSetting"
android:key="pcn"
android:title="Set Canton Digits"
android:summary="Define your canton digits"
android:dialogTitle="Set Canton Digits"
android:dialogMessage="Please add your canton digits"
android:inputType="number"
android:imeOptions="actionDone"
android:maxLength="4"/>
</PreferenceCategory>
我想将EditTextPreference
导入我的java代码,只是为了确保用户输入的内容至少为4位数。
这就是我尝试将EditTextPreference
导入java
canton = (EditTextPreference)findViewById(R.id.pcnSetting);
但Eclipse
给了我这个错误:
Cannot cast from View to EditTextPreference
为什么会这样?如何检查用户输入的内容是否至少4
int's
?
答案 0 :(得分:7)
EditTextPreference不是View,它是首选项。因此,您必须在PreferenceActivity中使用findPreference()。然后,您可以执行EditTextPreference.getEdittext以从此首选项中获取视图
答案 1 :(得分:1)
因为EditTextPreference不扩展View,所以它扩展了DialogPreference
http://developer.android.com/reference/android/preference/EditTextPreference.html