在SettingsActivity中未定义findPreference

时间:2016-05-21 21:50:39

标签: java android

我正在尝试通过在主菜单中添加电池百分比来修改cyanogenmod设置apk但是由于此错误我无法执行此操作:“方法findPreference(string)”未定义“

我听说你只能从一个偏好片段中调用它(这解释了为什么我的代码在我们说的deviceinfo标签中有效)

这就是我的称呼方式:

private void setStringSummary(String preference, String value) {
    try {
        findPreference(preference).setSummary(value);
    } catch (RuntimeException e) {
       findPreference(preference).setSummary(
            getResources().getString(R.string.device_info_default));
    }
}

我已经尝试过“SettingsActivity.this.findPreference(string)”以及“mContext.findPreference(string)”,但是他们也犯了同样的错误

有没有解决方案,或者可能是findPreference的替代品?

谢谢!

1 个答案:

答案 0 :(得分:0)

你肯定是在错误的地方召唤它。您编写的代码应该是扩展PreferenceFragment

的片段的一部分
public class PrefsFragment extends PreferenceFragment {
...
}

另外,如果你的SDK< 11改为使用PreferenceActivity