2

PreferenceActivityPreference myPref通过调用myPref = findPreference(..)之后我检查某些条件并将其从“PreferenceList”中删除,如下所示:getPreferenceScreen().removePreference(myPref);在我的方法的第二次调用中,我需要Preference再次添加它但findPreference(..)返回null。我如何恢复它myPref以便稍后将其添加到“ PreferenceList”通过调用getPreferenceScreen().addPreference(myPref);?

Preference myPref= findPreference( getString( R.string.path_preference ));//return null after removing

        if (condition) {
            if (!pbePathPreferenceRemoved) {
                getPreferenceScreen().removePreference(myPref);
                pbePathPreferenceRemoved = true;
            }
        } else if (pbePathPreferenceRemoved) {
            getPreferenceScreen().addPreference(myPref);
            pbePathPreferenceRemoved = false;
        }
4

1 回答 1

1

我的解决方案是让Preference myPrefmy 的成员PreferenceActivity class在方法中只初始化一次onCreate(..),之后我可以删除它并再次添加。

于 2013-03-27T13:44:17.090 回答