2013-03-25 21 views
1

我想设置一个偏好总结的方法已过时findPreference,通常可以用如何设置偏好总结,而不适用于Android 4.0 +

EditTextPreference Pref = (EditTextPreference) findPreference(key); 

    Pref.setSummary("new summary"); 

但由于Android 4.1,findPreference抛出NPE做(?) ,有没有其他方法来设置preferenceHeaders/preferenceFragment中的首选项摘要? (但没有与XML,我需要动态的汇总值)

+0

问题解决了,不推荐使用的方法findPreference()不是问题,我在preferenceFragment中的addPreferencesFromResource()之前调用了findPreference(),这是个问题... – DiMa 2013-03-26 08:23:27

回答

5

您的问题在别处。 findPreference()可能会被弃用,但仍然可以在API中使用 - 如果您使用Fragments,则它不相关。

查看PreferenceActivity的Android 4.2源代码,其中显示该方法明显仍然可用。

我在我的应用程序中将它用于所有偏好,即使在4.2.2也没有问题。

如果您使用PreferenceFragments,要知道,你应该使用findPreference()方法对你PreferenceFragment实例,而不是从PreferenceActivity

查看this documentation了解更多信息。

+0

非常感谢,我会研究它并确定猿的问题。 – DiMa 2013-03-26 07:51:28

+1

事实证明我的代码是在片段中的addPreferencesFromResource()之前调用findPreference(key),这要感谢很多kcoppock :) – DiMa 2013-03-26 08:20:00

+0

是的,我有同样的问题,你的回答也帮助了我,干杯:) – Zoombie 2014-04-18 12:56:46