android偏好屏幕不可转换的类型

时间:2016-06-22 13:51:27

标签: android

我正在尝试使用此命令创建一个preferenceScreen

        PreferenceScreen screen= (PreferenceScreen)getPreferenceScreen().findPreference(KEY);

并且错误信息是:“无法转换的类型,无法将android.support.v7.preference.Preference转换为android.preference.preferenceScreen”

有没有办法解决它?谢谢!

更新:这是我编写的测试代码的一部分

        ArrayList<String> cmds = new ArrayList<String>() {{
        add("A");
        add("B");
        add("C");
    }};
    for (String cmd : cmds) {
    CheckBoxPreference cpref = new CheckBoxPreference(getActivity().getApplicationContext());
        cpref.setTitle(cmd);
        cpref.setKey("The Name");
        cpref.setChecked(true);
        cmdScr.addPreference(cpref);
    }

现在最后一行“addPreference”给我一个错误

1 个答案:

答案 0 :(得分:0)

findPreference返回android.support.v7.preference.Preference而不是PreferenceScreen。你需要做的是:

Preference screen = (Preference) getPreferenceManager().findPreference(KEY);

Preference作为支持库中的{1}}导入:

import android.support.v7.preference.Preference;

要回答您编辑过的问题,只需访问this link即可了解您的错误。将类别添加到屏幕,然后将首选项添加到类别。