Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AddPreferencesFromResource导致ClassCastException_Java_Android_Preferences_Classcastexception - Fatal编程技术网

Java AddPreferencesFromResource导致ClassCastException

Java AddPreferencesFromResource导致ClassCastException,java,android,preferences,classcastexception,Java,Android,Preferences,Classcastexception,代码: public class Preferences extends PreferenceActivity { public static final String PREF_AUTO_UPDATE = "PREF_AUTO_UPDATE"; public static final String PREF_MIN_MAG = "PREF_MIN_MAG"; public static final String PREF_UPDATE_FREQ = "PREF_UPDATE_FREQ"; S

代码:

public class Preferences extends PreferenceActivity {
public static final String PREF_AUTO_UPDATE = "PREF_AUTO_UPDATE";
public static final String PREF_MIN_MAG = "PREF_MIN_MAG";
public static final String PREF_UPDATE_FREQ = "PREF_UPDATE_FREQ";

SharedPreferences prefs;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    Context context = getApplicationContext();

    addPreferencesFromResource(R.xml.userprefs);


}
每次切换到“首选项”活动时,我都会遇到一个运行时错误,导致我的应用程序崩溃。沿着我得到的线索:

原因:java.lang.ClassCastException:java.lang.Integer


在做了一些调试之后,我发现注释掉
addPreferencesFromResource
中的行可以防止应用程序崩溃,但是(显然)不会加载任何UI。我把这个例子一行一行地从课本上抄下来,我一辈子都弄不明白我遗漏了什么

检查您的资源类型。这可能就是问题所在。

我当时在玩这个东西,碰到了类似的东西。原来我在做一个putInt,但是定义首选项的xml文件有一个TextEditPreference与相关键连接。据我所知,TextEditPreference坚持通过putString/getString(duh)与SharedReferences文件交互,而我在游戏中做的putin在app-preferences.xml(/data/data/。/shared_prefs/)中粘贴了一个元素,每次调用addPreferencesFromResource时都会杀死preference活动。我不确定你的情况是否如此,但我认为一旦你发布了你的userpref,人们可以提供帮助,并注意到你是否在代码中使用TextEditPreference的键Putin或类似于我(错误地)所做的任何事情。

你能再详细说明一下吗?xml是一个路径为res/xml/userprefs的xml文件。在我看来,当您尝试向int-value或smth提供字符串资源时,可能会出现这种情况。你能发布你的userprefs.xml吗?